大量のメールを送信出来るものを作ろうと思ってたときに起こった事。
テストでcronでメールキューを作ると同時に送信する => 問題なく送信。
別に管理画面からキュー登録、その後cronがキュー送信 => 送れない。
本当に原因がわからなくてPearのソース追っかけて
dumpしまくりながら調べた結果・・
原因はtimezoneにありました。
php.iniが Asia/Tokyo にセットされていて安心していたのに、
cronでメールキューを処理する時点でのtimezoneが Europe/Berlin になってました。
なんでなのかは調査が必要ですが、
とりあえずapache経由でのアクセスでは無い時は、(ターミナルとかでやってる時)
apacheが読んでるphp.iniとは違うものを読み込んでいるいる可能性がある。
っていうのを思い知りました。
ちなみにtimezoneを設定するときは、
// タイムゾーンを設定する date_default_timezone_set('Asia/Tokyo'); // タイムゾーンを表示させる echo date_default_timezone_get();
Pear+PHP5 は strict_standard(値か参照かの警告) やら deprecated(非推奨) やら エラーでまくるし嫌ですね・・
0 コメント:
コメントを投稿