Webサーバーnginx + php-fpmにメインのPHPスクリプトがあり、WebブラウザからのGET要求を使用して別のPHPスクリプトをバックグラウンドで実行しようとします。 detect.phpコールするmain.phpでラインコード:PHP:バックグラウンドでスクリプトを実行できない
exec("/usr/bin/php -f /var/www/detect.php 6 > /dev/null 2>&1 &");
detect.phpはを開始しません。私は間違いがない。
"&" を削除する場合:正常に起動しdetect.php
exec("/usr/bin/php -f /var/www/detect.php 6 > /dev/null 2>&1 ");
。正常に起動しdetect.php
sudo -u www-data /usr/bin/php -f /var/www/detect.php 6 > /dev/null 2>&1 &
スクリプト: "&" とシェルはbashから
。私は、バックグラウンドで実行する必要があるdetect.php
正しいです! main.phpには他にもたくさんのアクションやスクリプトがあります。 detect.phpが終了するまで待つことはできません。 –
クライアントへの接続が閉じられた後に同期して実行できますか? – Jerry