设置后"It is not safe to rely on the system's timezone settings"



在我的配置文件的开头我有:

    date_default_timezone_set('America/Los_Angeles');
    echo "Set default timezone: " . date_default_timezone_get() . "n";
   ...

我通过CLI执行PHP脚本,输出看起来像这样:

设置默认时区:美国/los_angeles

php警告:date():依靠系统的时区是不安全的 设置。您是所需的要使用日期。 date_default_timezone_set()函数。如果您使用了任何一个 方法,您仍然会收到此警告,您很可能 拼写错误的时区标识符。我们选择了时区" UTC" 现在,但是请设置日期。TimeZone选择您的时区。在

为什么即使设置了时区之后,我也会收到"依靠系统的时区设置"的消息?

-------更新-----------------

事实证明这是一个线程问题,因此需要设置为php.ini解决它。

<?php
require __DIR__ . '/config.php';
date_default_timezone_set('America/Los_Angeles');
echo "Timezone: " . date_default_timezone_get() . "n";
function threadTest() {
    echo "Thread Timezone: " . date_default_timezone_get() . "n";
}
$thread = new Thread_Async();
$thread->call('threadTest');

结果:

时区:美国/los_angeles

php警告:date_default_timezone_get():依靠不安全 系统的时区设置。您是所需的 date.timezone设置或date_default_timezone_set()函数。在 案例您使用了任何这些方法,但您仍在获得此方法 警告,您很可能拼错了时区标识符。我们 现在选择了时区" UTC",但请设置日期。 选择您的时区。在/pvolf/wwwdev/app/test.php in第10行

线程时区:UTC

检查用于命令行的INI。我敢打赌它没有时区设置。尝试使用-d date.timezone=UTC运行命令行:

php -d date.timezone=UTC foo.php

相关内容

  • 没有找到相关文章

最新更新