【发布时间】:2014-03-31 11:15:26
【问题描述】:
随着 PHP 5.4 添加警告以提醒时区问题,此错误很常见:
警告:strtotime():依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们现在选择时区“UTC”,但请设置 date.timezone 以选择您的时区。在第 42 行的 somefile.php 中
好的,很公平。添加date_default_timezone_set('UTC') 既好又简单,但我不想为每个脚本都这样做,尤其是在 CLI 上执行操作时。
所以我在我的 php.ini 文件中添加了一行:
date.timezone=UTC
而且...它不起作用。警告仍然出现。
为了调试,我这样做了:
echo file_get_contents(php_ini_loaded_file());
它输出:
extension=./ext/php_gd2.dll extension=./ext/php_oauth.dll extension=./ext/php_curl.dll date.timezone=UTC
extension 行都可以工作 - 我把它们拿出来,我不能使用这些功能,我把它们放进去,我可以。只是date.timezone 不接受。我做错了什么?
【问题讨论】:
-
尝试 date.timezone = ('America/New_York') 查看更多时区选项us.php.net/manual/en/timezones.php
-
@p.vansia 不过我想要 UTC ;)