さくらレンサバでバッチが動かなかった理由は、PHP内のphp実行パス

以前、「さくらレンサバでforeachを含んだバッチが途中で止まる件」ということを書きましたが、その後もずっとcronを回せないでいました。

ちゃんと調べてみると、やはり初歩的なミス(汗

cronが実行された後に飛ぶメールを見てみると、メール本文に以下の文字。

php: not found 

ああ、cron自体は実行されてるけど、その後にphpを見つけられてないってことね。。。
よくよく見てみると、「さくらレンサバでforeachを含んだバッチが途中で止まる件」でファイルを分けたことによって、以下の様なコードにしてました。

$i = 0;
while ($i < 40) {
  system('php /home/[アカウント名]/www/batch/test.php '.$i);
  $i++;
}

確かに、PHPのパス書いてなかったわ・・・ということで以下に修正。

$i = 0;
while ($i < 40) {
  system('/usr/local/bin/php /home/[アカウント名]/www/batch/test.php '.$i);
  $i++;
}

これで動きました。cronの設定をミスしているわけではなかった。。。
ちゃんと理解して使わないとダメですね(汗

コメント

タイトルとURLをコピーしました