这里有一个奇怪的.我只是升级到php 5.3.0,自升级以来我收到以下警告:
警告:getdate()[function.getdate]:依赖系统的时区设置是不安全的.您需要 使用date.timezone设置或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们选择'America/Chicago'作为'CST/-6.0/no DST'
在查看各种论坛之后,每个人都说要解决问题,所有你需要做的就是在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
仍然得到警告.
有什么建议?
感谢您抽出宝贵的时间.
对原始问题发表评论的沙尔瓦克为我敲了敲门.我一直在编辑(我使用Debian):
/etc/php5/apache2/php.ini
...对我来说有正确的时区,并且是唯一在其中加载date.timezone的.ini文件,但是当我通过Bash运行脚本时,我收到了上述错误.我不知道我应该编辑:
/etc/php5/cli/php.ini
同样.(好吧,对我来说它也是'同样',对你来说当然可能会有所不同,但我现在要保持我的Apache和CLI版本的php.ini同步).
您是否尝试通过func设置时区:http: //pl.php.net/manual/en/function.date-default-timezone-set.php
我最近必须在两台笔记本电脑上安装Apache和PHP.经过多次哭泣和咬牙切齿之后,我注意到在phpinfo的输出中(无论出于何种原因:在PHP安装过程中不注意,安装程序不好)Apache希望php.ini能够在某些地方不存在.
两种选择:
把它放在Apache认为应该是的地方或
将Apache指向php.ini的真实位置
...并重新启动Apache.此时应识别时区设置.
打开.htaccess文件,将此行添加到文件中,保存,然后重试:
php_value date.timezone "America/Sao_Paulo"
这适合我.
试试这个,它对我有用.
date_default_timezone_set('America/New_York');
在抱怨的实际文件中.