- んっ cronでpearが動かない!?
- 2010.05.27
ブラウザから起動すると正常に動くプログラムがcronだと動かないというのはたまにある現象だし、今までは殆どの場合、パスの違いが原因でした。
今回、pearをcronで動かしたかったのだが、動かなかったので、include_pathを調べてみたが合ってる様子。
色々試してみたところ、PHPがセーフモードの為、動かなかったのが判明した。
ブラウザで起動する場合は、php.ini、httpd.conf、.htaccessの設定を読むが、cron(CLI)ではデフォルトはphp.iniのみだそうなので、php.iniのsafe_modeをOffにしようとも思ったが、そうするとサーバ全てに反映されてしまい、セキュリティ上好ましくない為、cronの記述に「/usr/bin/php -d safe_mode=off」のように -d safe_mode=off を追加することにより問題が解消されました。
- cronによる定期実行について
- 2009.09.24
最近はプログラムの定期実行(cron設定)もレンタルサーバの提供する管理画面から出来ることが多く、SSHでログインして自分でコマンド入力して設定するなんて滅多にやっていませんでしたが、先日管理画面で編集する環境がなく、自分でcrontabの編集をしました。
しかし、あまりにも久しぶりすぎて期待通りにPHPが動いてくれません!?
今後のために備忘録としてまとめておきます。
作業手順
crontab -e crontabを編集する。
0 * * * * php hoge.php
これで毎時0分に動作するようになりますが、私のミスは以下のように実行時間と実行するプログラムファイルのみ指定していた為、動きませんでした。
0 * * * * hoge.php
時間の指定も合ってる、実行ファイルの絶対パスも合ってるはずなのに動かない・・・とさんざん悩んだのですが私のケアレスミスでした
プログラムを組んでるときもそうですが、簡単な事が間違ってて動かないって事が結構ありますがこれも経験の一つということで・・・
