【问题标题】:php.ini 'date.timezone' doesn't have any effectphp.ini 'date.timezone' 没有任何效果
【发布时间】:2016-08-26 21:38:15
【问题描述】:

在我的 php.ini 我已经设置:

date.timezone = "Etc/UTC"

而且服务器的时间也是 UTC+0,但是当我尝试这个脚本来获取时区时:

<?php print(date_default_timezone_get()); ?>

它返回

欧洲/柏林

这是UTC+2 而不是UTC+0,我不知道它是如何到达那里的。

只是为了澄清:

  • 我已将正确的文件保存在正确的路径并重新启动了我的服务器
  • 我不想修改我的脚本,因为我已经经常使用date() 方式
  • 我希望 PHP 的时间是 UTC+0 只需更改配置即可
  • 我希望它始终是 UTC+0,忽略夏季/冬季时间

【问题讨论】:

  • print(date_default_timezone_get()) 操作前检查一下
  • 夏季/冬季?
  • 欧洲/柏林不是 UTC
  • 这意味着你已经设置了 date_default_timezone_set('Europe/Berlin');脚本中的某处??
  • @MineshPatel 我知道,但我希望它是 UTC

标签: php datetime time timezone


【解决方案1】:

该行肯定是更改默认时区的正确位置。

  1. 您是否确实更改了正确的 php.ini?某些设置可以有多个 .ini 文件。运行 phpinfo(); 并检查 Loaded Configuration File 以查看是否是该文件。

  2. 检查文件中是否没有该参数的其他定义。如果您只是将其复制粘贴到任何位置,它可能会覆盖您设置的内容。

  3. 检查代码是否不会覆盖您在 .ini 文件中设置的内容。 date_default_timezone_set() 在 PHP 中设置(和覆盖)它。

  4. 查看phpinfo() 了解有关当前时区的更多信息。

【讨论】:

  • 时区由于某种原因是 UTC+2(欧洲/柏林),我不知道是什么覆盖了它。配置也是正确的。
  • @timmyRS 出了什么问题?
  • @MineshPatel 在我的问题中写道。配置中确实有一些东西覆盖它......
【解决方案2】:

在 cmets 中,Minesh Patel 告诉我检查是否有东西覆盖了我的选项,所以我在 php.ini 中搜索了 Europe/Berlin,结果发现还有另一个 @987654323 @-entry 覆盖它。

【讨论】:

    【解决方案3】:

    您是否为您的网络服务器用户检查了“TZ”环境变量?如果已设置,则 date.timezone php.init 设置将无法按预期工作,如php manual 中所述:

    日期.时区字符串 所有日期/时间函数使用的默认时区。在 PHP 5.4.0 之前,这仅在未设置 TZ 环境变量时才有效。如果没有明确提及,则使用时区的优先顺序在 date_default_timezone_get() 页面中进行了描述。

    【讨论】:

    • 我真的不知道什么是“TZ”变量以及在哪里可以找到它._.
    • 如果您在 Linux 上,只需输入 echo $TZ 即可查看当前设置或输入 export TZ=UTC 进行设置。但是在启动服务器之前,您必须以 Web 服务器用户的身份执行此操作。这通常在启动时在初始化脚本中完成。尝试redhat-config-datedpkg-reconfigure tzdata 进行配置(取决于您使用的Linux 发行版)
    【解决方案4】:

    我建议您参考此列表以选择您的时区:

    PHP timezones

    警告:不要使用以下链接中列出的任何时区,它们仅出于向后兼容的原因而存在,除了 UTC

    PHP timezones only for backward compatible reasons

    强烈建议您使用适合您所在位置的正确时区,例如欧洲/柏林

    date.timezone = "Europe/Berlin"
    

    【讨论】:

    • 我的问题是时区已经是欧洲/柏林,但应该是 UTC+0
    【解决方案5】:

    在您的 php.ini 文件中找到“Europe/Berlin”(使用 phpinfo(); 获取文件的正确路径)

    在某些情况下,“date.timezone”参数在文件中出现两次。

    确保你输入正确的时区,来自here(php 时区)

    【讨论】:

      猜你喜欢
      • 2019-07-28
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      • 2013-02-26
      • 2018-06-14
      • 2019-06-19
      相关资源
      最近更新 更多