Linux での crontab スケジュールされた PHP スケジュール タスクの失敗の理由の分析
Linux で crontab を使用してスケジュールされた PHP スケジュール タスクを実装できない理由の分析。
多くの人が Linux で crontab を使用して PHP を実装し、スケジュールされたタスクを実行しますが、失敗してキャッシュを生成できません。この記事では、Linux で crontab を使用してスケジュールされた PHP スケジュール タスクを実装できない理由を分析します。
一般に、Linux は定期的に PHP コードを実行します。例:
*/5 * * * * /usr/local/php/bin/php /home/wwwroot/1.php
実際、PHP コードはこの方法で実行できます。 。
しかし、多くの友人が 1.php でキャッシュ ファイルを書いているのに生成されないのはなぜでしょうか?
これには、php を実行する crontab の相対パスの問題が関係します。
実行ファイルには次のようなインクルード ファイルがあることに注意してください:
include_once'./mysql.php';
PHP コードで相対パスが使用されている場合、そのディレクトリ www.jbxue.com
に入り、/usr/local/php/bin/php /home/wwwroot/1.php を実行することによってのみ mysql を参照できます。 php が有効になります。
解決策:
*/10 * * * * cd /home/wwwroot && /usr/local/php/bin/php /home/wwwroot/1.php
同時にキャッシュを/home/に生成することもできますwwwルート。ここでは特に注意が必要です。
これは、いわゆる Linux での PHP のスケジュール実行のほとんどで言及されていないことであり、最も誤解を引き起こす可能性が高いことでもあります。
もちろん方法はたくさんあり、環境変数などを設定することもできます。これは単純な方法です。