【问题标题】:Do I need to set the timezone in a PHP script, if it is set in php.ini?如果在 php.ini 中设置,我是否需要在 PHP 脚本中设置时区?
【发布时间】:2015-02-26 12:41:16
【问题描述】:

phpinfo() 告诉我我的时区设置正确:

date_default_timezone_get() 返回“欧洲/柏林”。由于我使用的是 5.4.35,这应该返回 ini 选项(请参阅manual)。

我还需要像 PHP 的警告那样设置时区吗?

严格标准: strtotime():依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们在 /your/skript.php249

行选择了“欧洲/柏林”作为“CET/1.0/no DST”

【问题讨论】:

  • 你的 php.ini 中有什么值用于 date.timezone 设置?
  • date_default_timezone_get() 返回“欧洲/柏林”。由于我在 5.4.35 这应该返回 ini 选项。

标签: php timezone


【解决方案1】:

是的,您应该始终设置时区,即使它是在服务器上设置的。这是必需的,因为您的脚本可能并不总是在该服务器上运行,并且如果移动到具有未设置时区的服务器可能会引发错误。

通常时区的一个不错的选择是 UTC:

date_default_timezone_set('UTC')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多