I have an apache2/php server running that decided DST was last week
(must not have been patched last year). I patched everything I could
and my PHP apps are still showing an hour behind, only from the web.
If I run the following code from bash:
# date
Wed Oct 31 06:32:47 CDT 2007
# echo '<?=date("h:i:s")?>' | php
06:32:47
...I get the correct time. Thinking that maybe somehow PHP is
misreading the timezone I tried this:
# echo '<?
echo "Original Time: ". date("h:i:s")."\n";
putenv("TZ=US/Central");
mktime(0,0,0,1,1,1970);
echo "New Time: ". date("h:i:s")."\n";
?> ' | php
...and strangely receive this:
Original Time: 06:33:26
New Time: 11:33:26
There is no timezone set in my php.ini and nothing hard set in any of
my PHP scripts. I seem to be missing something major. I'm tempted to
move the few sites I have on this box to a fresh and DST patched
system but it'd be nice to see if somebody has racked their brain with
this one before.
--
Donovan Niesen