Cronのエラー「/bin/sh: php: command not found」の対応

PHPで書いたスクリプトをコマンドラインで実行、それをCronで定期的に実行するようにしたはずが、なぜか動かない。
試しに手動で実行してみるとうまくいく。なぜかCronだとうまくいかない。
ログをメールで受信してチェックしてみるjと、こんなエラーになっていた。

/bin/sh: php: command not found

「phpなんていうコマンドはこのシェルに見つからない」
あ、パスが通っていないのか。
コマンドラインから実行するときは、「php」でパスが通っているから実行できるのだけど、Cronから実行するときはフルパスで指定しなければいけないということ。

広告

さっそく[ crontab -e ]でCron編集画面に行き、

0 1 * * * php /home/dacelo/bot.php

となっていたのを

0 1 2 * * * /usr/local/bin/php /home/dacelo/bot.php

に修正して保存。これでOKになった。

About: dacelo


Leave a Reply

Your email address will not be published. Required fields are marked *