バックグラウンドでPHPを実行するためのベストプラクティスは何ですか?

バックグラウンドでPHPを実行するためのベストプラクティスは何ですか?

コマンドラインから次のコマンドを実行すると、fgコマンドが実行されるまで一時停止します。

/usr/bin/php -r 'phpinfo();' &

PHPコードがshebangに含まれているかどうかにかかわらず#!/usr/bin/php

私はCentOSとbashシェルを実行しています。

ベストアンサー1

バックグラウンドでジョブを実行するためのPHP専用メソッドはありません。広く使用されている方法は次のとおりです。

  1. 1つを使用してくださいscreen。インストールしてscreenから(まだインストールされていない場合)、画面でPHPスクリプトを実行します。screenいつでもコンピュータの接続を解除してログオフでき、スクリプトは引き続き実行されます。ここ使用方法に関する何百もの情報がオンラインで入手できますscreen

  2. 使用nohup。使用法は次のとおりです。

nohup <yourPHPcommand> &

これにより、ログアウト時にnohupスクリプトがHANGUP信号に「いいえ」と応答するため、ログアウト後もPHPスクリプトは引き続き実行されます。唯一の問題は、そのタスク/プロセスを前景にインポートして出力を見ることができないことです(重要な場合)。出力をファイルにリダイレクトし、そのファイルから印刷された内容を確認できます。

上記の2つのうちどちらかを使用することをお勧めしますscreen。フォアグラウンドで実行する場合と同様に、常に画面に接続してプロセスを制御できます。

PS: - 最後に「&」のスクリプトを実行すると&バックグラウンドに入りますが、端末からログアウトするとスクリプト/プロセスが終了します。

おすすめ記事