ホームページ >バックエンド開発 >PHPチュートリアル >crontabでphpが実行できない問題の解決策

crontabでphpが実行できない問題の解決策

WBOY
WBOYオリジナル
2016-06-13 13:05:41758ブラウズ

crontab が php
を実行できない場合の解決策 crontab を使用して PHP プログラムを実行する場合、誰もが独自のデバッグ方法を持っています。 crontabがPHPプログラムを実行できない問題をどのように解決したかを見てみましょう。
1. phpファイルに実行権限はありますか? 🎜>×が付いていない場合は、実行権限がないことを意味しますので、当然実行できません。ログインしているユーザーが所属するグループに権限があるかどうかが不明な場合は、すべてのグループに権限を追加してください。方法は次のとおりです:
View copy and print?
[root@linux cron]# chmod +x ./del_redis.php
2 番目に、実行権限がある場合でも実行できません
解決策は次のとおりです:
1. PHP プログラムにログを書き込みます (例: error_log() 関数)。ログがない場合、どうやって結果を知ることができますか。プログラムの実行。このようにして、crontab の実行状況をログで確認できます。
2. crontabで実行結果を直接ファイルに出力することもできます。次に、このファイルの実行ステータスを確認します。例:
コピーして印刷しますか?
*/10 * * * * /usr/local/php/bin/php /var/www/cron/del_redis.php >> cron.txt

3. Apache や nginx を使用せずに crontab を使用するため、$_SERVER や $_ENV などの変数は一切使用できません。したがって、PHP コードにそのような変数があるかどうかを確認し、存在する場合は削除してください。

4. PHP 相対パスの問題
この問題は、考え方が間違っているため、無視するのが最も簡単です。
View copy and print?
include_once'./mysql.php';
PHP コードで相対パスが使用されている場合、そのディレクトリに入って /usr/local/php/bin を実行することしかできません。 / php /var/www/cron/level_rank.php が有効になります。私はこの問題に少なくとも2回遭遇しましたが、もう一度遭遇するとまだ思い出せません。
解決策は次のとおりです:
コピーして印刷しますか?
*/10 * * * * cd /var/www/cron && /usr/local/php/bin/php /var/www/ cron/level_rank .php
または
php コードで絶対パスを使用します


詳細については、
http://blog.51yip.com/php/1346.html

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP =>次の記事:PHP =>