【问题标题】:Change mysql timezone from phpMyAdmin从 phpMyAdmin 更改 mysql 时区
【发布时间】:2015-03-14 21:29:29
【问题描述】:

我正在尝试更改数据库的时区。我在共享服务器上,数据库支持人员不能只为我更改它。时区当前为+1:00 我希望它为+05:30。我搜索并尝试了以下操作,但没有任何效果。

date_default_timezone_set('timezone_name');

添加到我的index.php 文件中。

mysql> SET GLOBAL time_zone = 'timezone_name';

它说访问受限。

SET time_zone = timezone_name

查询现在运行受影响的行。

我的网站托管在我们的站点地面服务器上。

【问题讨论】:

  • 您在共享服务器上吗?请联系管理员。
  • 对不起,我不知道。
  • 为什么要设置全局时区?我建议为每个连接定义所需的时区,这样您就可以保存到服务器端更改。
  • 好吧,如果您愿意,主机不太可能想要更改时区。另一个技巧是将所需的时间间隔添加到您的时间+ INTERVAL 4 HOUR 或您的查询中。是的,这很烦人.或者也许试试SET SESSION time_zone = 'yourtime';
  • 是的,目前我正在通过修改查询来做,但我需要在 sql 上更新它。

标签: php mysql datetime timezone


【解决方案1】:

也许您可以在 .htacess 中更改时区,而无需接触您的 PHP 脚本或 MySQL 查询。打开你的.htaccess文件,输入如下命令。

SetEnv TZ your_timezone

例如,如果您的位置在雅加达,请输入此命令

SetEnv ID Asia/Jakarta

请参阅以下链接了解可用时区:

http://php.net/manual/en/timezones.php

【讨论】:

  • 当然应该是 'SetEnv TZ Asia/Jakarta' 而不是 'SetEnv ID Asia/Jakarta' - 这只有在时区数据库已知 'Asia/Jakarta' 并且 webservr 是 Apache 时才有效, 并且 php 作为 mod_php 运行。更不用说 PHP 安装使用的 哪个 TZ 数据库取决于 PHP 构建。
  • SetEnv ID Asia/JakartaSetEnv TZ Asia/Jakarta 都适合我。抱歉,如果您想将时区设置为亚洲/雅加达,我没有提到上面的命令是一个示例。我已经编辑了我的帖子。
【解决方案2】:

由于我在共享服务器上,我的提供商并没有只为我更改它。所以在搜索之后我发现,我必须在 sql 上使用 datetime 类型而不是当前时间戳,并且正如 madipradhana 所说,我更新了我的 php.ini.htaccess

【讨论】:

    【解决方案3】:

    当您在共享服务器上时,使用 php 的 date() 并将 date_default_timezone_set('timezone_name'); 设置为您的 index.php

    【讨论】:

      猜你喜欢
      • 2017-02-13
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 2010-10-30
      • 2012-10-11
      • 2011-03-27
      • 2013-08-07
      • 2011-03-24
      相关资源
      最近更新 更多