PHPconfiguration:依靠系统的时区设置是不安全的
这里是一个奇怪的。 我只是升级到PHP 5.3.0,自升级以来我收到以下警告:
警告:getdate()[function.getdate]:依靠系统的时区设置是不安全的。 您需要使用date.timezone设置或date_default_timezone_set()函数。 如果您使用这些方法中的任何一种,并且仍然收到此警告,则很可能是拼写错误的时区标识符。 我们select“美国/芝加哥”作为“CST / -6.0 /无DST”
看了各种论坛后,大家都说要解决这个问题,你所要做的就是在php.ini中编辑date区域并重新启动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
仍然收到警告。
有什么build议么?
感谢您抽出宝贵的时间。
对原始问题发表评论的Tchalvak,为我打了个头。 我一直在编辑(我使用Debian):
/etc/php5/apache2/php.ini
…它有正确的时区对我来说是唯一的.ini文件被加载在它的date.timezone,但是当我通过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处于某个不适合的地方。
两个select:
- 把它认为应该是或者的地方
- 指向你的php.ini的真实位置的Apache
…并重新启动Apache。 时区设置应该在那个时候被识别。
打开你的.htaccess文件,将这一行添加到文件中,保存并重试:
php_value date.timezone "America/Sao_Paulo"
这对我有用。
试试这个,它适用于我。
date_default_timezone_set('America/New_York');
在抱怨的实际文件中。
检查php.ini文件中的语法错误,特别是在 Date参数之前 ,以防止正确parsing文件。
请修改您的index.php如下:
require_once($yii); $app = Yii::createWebApplication($config); Yii::app()->setTimeZone('UTC'); $app->run();
我修改了/etc/php.ini
[Date]; 定义date函数使用的默认时区; http://php.net/date.timezone date.timezone =('Asia / kolkata')
现在工作正常。
Vipin Pal
显然,我在这个问题上有点不合时宜,但为了下一个患者的利益:我刚刚有这个问题,在我的情况(与OP谁试图没有成功相反)修复是修改php.ini ,改变
date.timezone = America/New York
至
date.timezone = America/New_York
这是增加下划线。
您可能忘记删除分号以取消该行的注释。 对于date.timezone = "US/Central"
行,请确保该行前面没有分号。
我发现,奇怪的是,我可以通过将时区声明放在我的php.ini文件的顶部来修复这些错误。
它已经在我的php.ini。 实际上两次。 我把头发拉出来,因为大家都在说要装载另外一个ini ……没有。
希望这可以节省别人的时间/脱发。
也可以试试这个
date.timezone = <?php date('Y'); ?>