【问题标题】:default time zone is not changing using php or php.ini默认时区不使用 php 或 php.ini 更改
【发布时间】:2014-06-16 19:06:51
【问题描述】:

我正在尝试使用 php 更改默认时区但不起作用

date_default_timezone_set('Asia/Riyadh')

并尝试使用 php.ini

date.timezone="Asia/Riyadh"

但是在 phpinfo 我得到了这个

Default timezone    Europe/Berlin
date.timezone   Europe/Berlin   Europe/Berlin

当使用 CURTIME() 向 MySQL 插入时间时,我没有得到亚洲/利雅得时间并且得到错误的时间 更新(时区在一段时间后更改,但使用 CURTIME() 将日期插入 mysql 没有输入正确的时间

【问题讨论】:

  • 您是否更改了正确的 .ini 文件? phpinfo() 输出将告诉您正在使用哪些 .ini 文件。更改后是否重新启动了网络服务器?并且更改 PHP 设置将不会更改 mysql 处理时间的方式。 curtime() 是一个 mysql 函数,将使用 mysql 时区设置。
  • 我已经上传了网站根目录下的文件
  • 除非 php 被告知要在那里寻找 .ini 文件,否则什么也做不了。
  • php.ini的路径是正确的
  • 如果您将date_default_timezone_set('Asia/Riyadh'); 放在 PHP 脚本中,它只对执行该脚本有好处。

标签: php timezone


【解决方案1】:

在 php.ini 中

date.timezone="Asia/Riyadh"

在我的脚本中

$nowtime = date("G:i:s");
$nowdate = date("Y-m-d");

【讨论】:

    【解决方案2】:

    是的,在对 php.ini 文件进行任何更改时,您必须始终重新启动服务器。

    如果您确定您正在更新正确的 .ini 文件,另一件要调查的事情是查看 phpinfo() 中的“已解析的其他 .ini 文件”。有时您会发现某些程序或更新可能会在此处添加其他文件,并且会覆盖您的 php.ini 设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-13
      • 1970-01-01
      • 2023-03-27
      • 2012-11-25
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多