phpinfo() 中的 php 时区错误?

phpinfo() 中的 php 时区错误?

我以前从未见过 phpinfo() 给出错误。这是怎么回事?我应该在 php.ini 中查找什么?

Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's 
timezone settings. You are *required* to use the date.timezone setting or the 
date_default_timezone_set() function. In case you used any of those methods 
and you are still getting this warning, you most likely misspelled the
timezone identifier. We selected 'America/New_York' for 'EDT/-4.0/DST'
instead in /Users/{me}/Sites/localmirror/htdocs/tests/phpinfo.php on line 3

违规文件:

<?php

phpinfo();

?>

编辑:啊,我有点明白了,这个警告意味着我需要在 php.ini 中设置“date.timezone”。我以为他们在谈论“你”这个 php 程序员,但他们谈论的是“你”这个系统管理员。

答案1

您是否仍遇到类似的相同错误?

<?php
if(date_default_timezone_set('Europe/Stockholm') == 0) {
            print "<!-- Error uknown timezone using UTC as default -->\n";
            date_default_timezone_set('UTC');
}
phpinfo();
?>

答案2

答案是在我的 php.ini 文件中注释掉该行date.timezone = ...并添加适当的时区(在我的情况下为“US/Eastern”)。我想我忽略了显而易见的事情。

答案3

您可能认为这很麻烦,但是从我的角度来看,这应该是必需的,因为在将日期插入 MySQL 数据库时,我非常依赖 PHP 应用程序中的管理时区,并且能够允许从用户的角度更改时区,因为服务器可能位于纽约,而我的客户希望所有日期都按照洛杉矶时间保存。

这只是我的看法,如果您不想遇到这种问题,您可以随时切换到 5.2.xx,或者开始在您的 php.ini 或应用程序中进行设置。

答案4

这又是一场 php 灾难,确实,不依赖系统范围的设置怎么会这么愚蠢?php 现在正走向一个悲惨的方向。

相关内容