がタイムアウトしているようですでる。私はそれが死んPHPいないことを確認するためにset_time_limit()
および関連php.iniの設定を使用しました、とは/ var/log/cronが私には、通常になります。cronジョブは、rootのcrontabに設定し、次のcronジョブを持って
6月4日は、午前10時02分01秒foobarにはcrond [12138]:(根)CMD([スニップ])
なぜcronjobが死ぬのだろうか?
がタイムアウトしているようですでる。私はそれが死んPHPいないことを確認するためにset_time_limit()
および関連php.iniの設定を使用しました、とは/ var/log/cronが私には、通常になります。cronジョブは、rootのcrontabに設定し、次のcronジョブを持って
6月4日は、午前10時02分01秒foobarにはcrond [12138]:(根)CMD([スニップ])
なぜcronjobが死ぬのだろうか?
私はそれを考え出した - カールの進捗状況の統計を:
(100 65622 0 65622 0 0 1039 0 --:--:-- 0:01:03 --:--:-- 1927)
は、何らかの理由でstderrに書かれていた - それを修正し、コマンドの末尾に> & 1 2を追加:
2 * * * * /usr/bin/curl --basic --user 'user:pass' http://localhost/cron/do_some_action > /var/www/app/cronlog.log 2>&1
すべての洞察をみんなに感謝します!
ユーザーを追加
02 * * * *ルートは/ usr/binに/ --basic --userカール 'ユーザー:パス' http://localhost/not/porn> /var/www/app/filethatrootcanwriteto.log
2つのphp.iniファイルがあり、1つはapache用、もう1つはCLI用です。
locate php.iniの両方を見つける必要があります。私は最初にチェックすることをお勧めします。
ありがとうございます - 既にチェックされており、そのことを再度確認しました。スクリプトは手動で起動されたときにはタイムアウトしません。ただし、cronが起動を担当するときだけです。 – Kyle
これは、curlがステータスを早めに返すのを防ぐために、ob_start()およびob_end_flush()を使用してPHP出力をバッファすることによっても回避できます。
サーバーログに、スクリプトにアクセスするcURLが表示されていますか? – ceejayoz
はい。私はまた、どのレコードが更新されたか、どのレコードが更新されていないかを示す増分ステータス更新を示すログファイル(書き込み可能)に出力を配管しています。 – Kyle