【问题标题】:PHP 5.6 DateTime Strict warning timezone UTCPHP 5.6 DateTime 严格警告时区 UTC
【发布时间】:2015-05-21 11:11:28
【问题描述】:

从 php 创建 UTC 日期时间时,我目前收到以下 STRICT 警告。

严格警告:依赖系统的时区设置是不安全的。请使用 date.timezone 设置、TZ 环境变量或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们为“UTC/0.0/no DST”选择了“UTC”

这是我正在使用的代码行。

DateTime::createFromFormat('U.u', sprintf('%.6F', microtime(true)), new DateTimeZone('UTC'));

奇怪的是我已经使用 UTC 作为时区,但它仍然输出这个警告。我怎样才能摆脱它?

我在 Debian Wheezy 上运行 php 5.6。

我所有的 php.ini 文件都包含以下 date.timezone 设置。

date.timezone = "Europe\Amsterdam"

【问题讨论】:

  • 你写错了 - Europe/Amsterdam(正斜杠)。如果这没有帮助,请考虑在该文件中添加date_default_timezone_set('Europe/Amsterdam');(可能由于某种原因,您编辑的 php.ini 文件被忽略了)。如果有帮助,请更新我。

标签: php date datetime


【解决方案1】:

似乎我错过了一个 php.ini 文件 + 包括 @Ofir-Baruch 建议的修复(正斜杠),它似乎已解决。

我忘记的 php.ini 是 hhvm 的。

由于我使用以下命令将所有控制台 php 配置为由 hhvm 执行,因此在控制台行上失败了。

/usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60

我忘记了这一点,并在我回应时发现了这一点。

echo phpinfo(); 在 hhvm 的情况下返回 Hip Hop

【讨论】:

    猜你喜欢
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 2013-01-24
    • 2013-02-09
    • 1970-01-01
    • 2020-07-06
    相关资源
    最近更新 更多