设置时区不适用?

时间:2014-03-31 11:15:26

标签: php php-ini

使用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而不是。我做错了什么?

1 个答案:

答案 0 :(得分:0)

  1. 我在OpenWRT上遇到了类似的问题 - 事实证明你需要这样做 正确设置/ etc / localtime

    Chek / usr / share / zoneinfo /可用时区(更新系统如果 需要)并选择你的风味(只需复制正确的文件)。

  2. 我遇到的另一个问题是拥有不同的php.ini文件 不同版本的php - cgi,fpm,cli等 - 请确保你的 在你拥有的所有php.ini文件中添加了date.timezone行 你的系统。

  3. 修改

    你的php.ini文件中可能有第二行,如下所示:

    ; some lines of variables
    date.timezone = UTC
    ; more lines of variables
    date.timezone = 
    ; even more lines
    

    ,这会有效地覆盖你的date.timezone