这里有一个奇怪的。 我只是升级到php 5.3.0,自升级以来我收到以下警告:
警告:getdate()[function.getdate]: 依赖系统是不安全的 时区设置。您必需 使用date.timezone设置或 date_default_timezone_set() 功能。如果您使用过任何一个 那些方法,你还在 得到这个警告,你很可能 拼写错误的时区标识符。我们 选择“美国/芝加哥”为 'CST / -6.0 /无夏令时'
在查看各种论坛之后,每个人都说要解决问题,所有你需要做的就是在php.ini中编辑日期区域并重启Apache。
它对我不起作用。
我试过
date.timezone="America/New_York"
date.timezone=America/New_York
date.timezone="US/Central"
我做了更改后重新启动了apache。
由于我仍然使用旧版本的php安装,我甚至确保我正在编辑当前版本的php在加载时使用的php.ini
/usr/local/php5/lib/php.ini
仍然收到警告。
有什么建议吗?
感谢您抽出宝贵时间。
答案 0 :(得分:37)
Tchalvak对原始问题发表了评论,对我来说是头疼的。我一直在编辑(我使用Debian):
/etc/php5/apache2/php.ini
...我有正确的时区,是唯一一个在其中加载date.timezone的.ini文件,但是当我通过Bash运行脚本时,我收到了上述错误。我不知道我应该编辑:
/etc/php5/cli/php.ini
也是。 (好吧,对我来说它也是'同样',对你来说当然可能会有所不同,但我现在要保持我的Apache和CLI版本的php.ini同步。)
答案 1 :(得分:17)
答案 2 :(得分:7)
我碰巧要设置Apache& PHP最近在两台笔记本电脑上。经过多次哭泣和咬牙切齿之后,我注意到在phpinfo的输出中(无论出于何种原因:在PHP安装过程中不注意,安装程序不好)Apache希望php.ini能够在某些地方不在。
两种选择:
...然后重启Apache。此时应识别时区设置。
答案 3 :(得分:6)
打开.htaccess文件,将此行添加到文件中,保存,然后重试:
php_value date.timezone "America/Sao_Paulo"
这适合我。
答案 4 :(得分:5)
date_default_timezone_set('America/New_York');
在抱怨的实际文件中。
答案 5 :(得分:2)
检查php.ini文件中的语法错误,特别是之前日期参数,以防止文件被正确解析。
答案 6 :(得分:2)
请修改index.php,如下所示:
require_once($yii);
$app = Yii::createWebApplication($config);
Yii::app()->setTimeZone('UTC');
$app->run();
答案 7 :(得分:2)
显然我在这个问题上有点不合时宜,但是为了下一个受害者的利益:我只是遇到了这个问题而且在我的情况下(与那些试图同样没有成功的OP形成鲜明对比)修复就是要修改 php.ini ,正在改变
date.timezone = America/New York
到
date.timezone = America/New_York
这是添加下划线。
答案 8 :(得分:1)
我修改了/etc/php.ini
[日期] ;定义日期函数使用的默认时区 ; http://php.net/date.timezone date.timezone =(' Asia / kolkata')
现在工作正常。
Vipin Pal
答案 9 :(得分:1)
您可能忘记删除分号以取消注释该行。对于date.timezone = "US/Central"
行,请确保该行前面没有分号。
答案 10 :(得分:0)
我奇怪地发现,我可以通过将时区声明放在我的php.ini文件的顶部来修复错误。
它已经在我的php.ini中了。实际上是两次。而且我把头发拉了出来因为每个人都说必须有另一个ini被装上......没有。
希望这可以节省其他人的时间/脱发。
答案 11 :(得分:-11)
你也可以尝试这个
date.timezone = <?php date('Y'); ?>