そこで、PHP スクリプトをソケットにバインドし、受信データをテキスト ファイルに書き込むようにしました。新しい情報がストリームから流れてきます。これはうまく機能しています。私がやりたいのは、そのテキスト ファイルが更新されるたびに別の別の PHP スクリプトを実行することです。
「include」コマンドを使用してこれを実現しようとしましたが、機能していません。そのコマンドを使用して非常に単純なスクリプトをモックアップすることにより、'include' メソッドが機能することをテストしました。たぶん、コード行を間違った場所に置いているのでしょうか? do-while ループの中にあります (以下のコードを参照)。
変更を有効にするには、スクリプト/ソケットを再起動またはリセットする必要がありますか?
どんな助けでも大歓迎です。ありがとうございました!
これが私のコードの要点です:
[socket create, bind, and listen stuff goes here]
do {
$input = socket_read($spawn, 4096, 1) or die("Could not read input\n");
$trimmed = trim($input);
if ($trimmed != "") {
echo date($dateformat) . ": Received input: $trimmed\n";
if ($trimmed == "END") {
socket_close($spawn);
break;
}
else {
// write content
$fhp = fopen($textFile, 'w') or die("can't open file");
fwrite($fhp, $trimmed);
fclose($fhp);
echo date($date) . ": Wrote: " . $trimmed ."\n";
// run my other PHP script - the crux of my issue - this is not working
include '/home/public_html/update.php';
}
echo date($dateformat) . ": updated \n";
}
}
} while (true);
socket_close($socket);
echo "Socket term\n";