似たような投稿がたくさんあると思いますが、検索してもまだ解決策が見つかりません。
基本的に、バックグラウンドで 2 つのスクリプトを実行しようとしています。コマンドラインでそれらを実行すると、最初のスクリプトを呼び出した後に次のように表示されます。
/usr/bin/nohup php script.php > nohupoutput.log & echo $!
私は ...script.php > /dev/null &
同じ結果で試しました。私は得る:
/usr/bin/nohup: ignoring input and redirecting stderr to stdout
私は無視して2番目のものを実行します。そこにぶら下がっているように見えることに気づき、押すとEnter元に戻りましたmachine:~folder>
/usr/bin/nohup php script2.php > nohupoutput.log & echo $!
両方のスクリプトが機能します。これを shell_exec コマンドに変換しようとしましたが、何も機能していないようです。ビットが問題を引き起こしていると思われignoring input
ますが、よくわかりません。とにかく、以下は機能しません。ブラウザでハングするだけです:
$output = shell_exec('/usr/bin/nohup php script.php > /dev/null &');
$output = shell_exec('/usr/bin/nohup php script2.php > /dev/null &');