時間がかかり、待ちたくないので、バックグラウンドでphpスクリプトを実行したいと思います。
この質問は以下に関連しています。
Linux centos マシンでこれを機能させようとしましたが、残念ながら機能していないようです。
これは私のコードです:
$cmd = 'php '.realpath($_SERVER["DOCUMENT_ROOT"]).'/test/sample.php';
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));
exec(sprintf("$s > $s 2>&1 & echo $1", $cmd, $outputfile),$pidArr);
sleep(2);
print_r($outputfile);
print_r($pidfile);
sample.php スクリプトが完成していることを確認するために、sleep(2) を含めました。sample.php には、echo 'Hello world' のみが含まれています。両方の実行オプションを試しましたが、どれも機能しませんでした。上記のスクリプトは出力を表示しません。
同じ $cmd を Linux コマンド ラインで実行しようとしたところ、sample.php スクリプトからの出力が表示されました。
これを最初に実行したいのですが、さらに変数を sample.php スクリプトにも送信したいと考えています。
よろしくお願いいたします。