当服务器上的时间超出12小时时,可能会发生什么?我在一个朋友的网站上工作,并注意到,虽然服务器在我们的时区,但在向DB写入记录时,我们已经晚了12个小时。所以,我不喜欢这样的检查:时区问题
<?php echo(gmstrftime("It is %a on %b %d, %Y, %X time zone: %Z",time()));
phpinfo();
?>
结果:
It is Thu on Jul 21, 2011, 04:46:46 time zone: GMT
...
date
date/time support enabled
"Olson" Timezone Database Version 2010.15
Timezone Database internal
Default timezone Pacific/Auckland
Directive Local Value Master Value
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenit 90.583333 90.583333
date.sunset_zenith 90.583333 90.583333
date.timezone Pacific/Auckland Pacific/Auckland
要问你能看到,PHP报告上午04时46分。这真的是下午4:46。它将GMT报告为时区,但PHPinfo报告太平洋/奥克兰为时区(GMT + 12)。
我问网络主机发生了什么事。他们不确定,因为该系统的时间是正确的。 而且没有其他的php.ini文件被引入。
想法?
什么是“时区:GMT”之后的“...”?你要留下什么东西吗? – tehvan
问:什么是数据库,当您为数据库调用“getdate()”(或等价物)时会得到什么。关于PHP可能仍然是罪魁祸首,请看这里的问题reconconciling date.default_timezone,$ TZ和date.timezone,:http://www.php.net/manual/en/function.date-default-timezone- get.php – paulsm4
DB是MySQL,时间函数刚刚返回“system”。 引发这次狩猎的软件是Joomla ......我怀疑这是误操作时间。 – Onyx