Cronでdate()を実行して一部の拾えない時間
PHPを勉強中の者です。
タイトルの通りですが、date()をCronで実行しても空白の時間ができてしまい困っています。
具体的には例えば、var_dump出力すると
Tue Mar 05 01:00:00 +0000 2013…(1)
Tue Mar 05 03:00:00 +0000 2013…(2)
Tue Mar 05 07:00:00 +0000 2013…(3)
Tue Mar 05 09:00:00 +0000 2013…(4)
Tue Mar 05 13:00:00 +0000 2013…(5)
Tue Mar 05 15:00:00 +0000 2013…(6)
Tue Mar 05 21:00:00 +0000 2013…(7)
Wed Mar 06 1:00:00 +0000 2013…(8)
Wed Mar 06 3:00:00 +0000 2013…(9)
Wed Mar 06 7:00:00 +0000 2013…(10)
という(1)~(10)のString文字列があって、これを
$yesterday = date('D M d', strtotime('-1 day'));
という、昨日の日付のみを抽出する形で、当日の夜0:30に実行します。
これを毎日行うようにしています。
(例でいうと、2013年3月5日のみを抽出するのに、2013年3月6日の0:30に実行します)
自分のパソコンのxamppでテストした場合は問題なく拾えます。
この場合だと「3月5日分のみ」の(1)~(7)です。
しかし、このPHPファイルをさくらサーバーに置いてcronに設定して同じことをすると
(4)~(7)のみしか拾えません。
(1)~(3)を拾ってくれないのです。
つまり、
9:00(朝)~0:30(夜)→この時間のある記述は拾う
0:30(夜)~9:00(朝)→この時間のある記述は拾ってくれない
なぜか9:00(朝)~0:30(夜)の時間だけ
$yesterday = date('D M d', strtotime('-1 day'));
で読み込まないようで、何がこの空白の時間を生むのか分からなくて困っています。
まだPHPも慣れないため、ところどころ語弊があるような奇妙な文章だったら恐縮ですが、御存知の方がいらっしゃいましたらご教示頂けたら幸いに存じ上げます。
お礼
早速のお答えありがとうございました。 教えていただいた通りで出来ました。