php - 无法更改 phpmyadmin 的时区

标签 php mysql amazon-ec2 phpmyadmin

我正在尝试将一些数据插入数据库,其中该表有一列 date,其类型为 timestamp,默认值为 CURRENT_TIMESTAMP .

我尝试了以下方法来更改时区:

在 php-5.6.ini 文件中,修改以下行:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/Los_Angeles   

保存文件并调用sudo service httpd restart以及sudo service mysql restart。我还想指出,我正在使用 ec2 实例,如果这有任何影响的话。

我使用的是 slim 框架,所以我尝试在 index.php 文件中调用 date_default_timezone_set('America/Los_Angeles'); ,仍然没有变化.

无论我将时区设置为美洲还是亚洲,时钟总是晚一个小时。

还尝试了 ini_set('date.timezone', '亚洲/新加坡');

尝试在 mySql 工作台内调用 SET time_zone = 'America/New_York' 但返回 #1298 - 未知或不正确的时区:。因此,在终端内我调用了 mysql_tzinfo_to_sql/usr/share/zoneinfo ,它似乎做了一些事情,但实际上并没有改变任何东西。还是同样的问题

最佳答案

php.ini 设置不会更改 mysql 服务器的时区。它仅更改 apache 服务器的时区。要更改 mysql 时区,请发出命令:

SET time_zone = 'America/New_York';

来自 mysql 终端。这将自动更改从所有 TIMESTAMP 字段获取的日期/时间。

如果您想从 php 执行此操作,则不要传递默认的 timestamp 值,而是从 php 传递值,如下所示:

$datetime = date('Y-m-d H:i:s');

并在timestamp列中插入$datetime的值。

关于php - 无法更改 phpmyadmin 的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44539113/

相关文章:

linux - 如何在 linux 的 tomcat7 webapps 中复制我的 war 文件

php - Laravel Controller 充当代理

php - 通过单个查询将参数用法绑定(bind)到多个值

java - Hibernate 很难使用 MySQL 创建表

php - PHP 和 MySQL 的大小写敏感问题

amazon-web-services - 是否不需要将负载均衡器与 ElasticSearch 一起使用?

php - 如何在youtube缩略图上添加图像

php - codeigniter phpexcel 错误 ZipArchive::getFromName():无效或未初始化的 Zip 对象

php - 多次溢出 :hidden containers with hidden content simultaneously toggled by links

amazon-web-services - spark-ec2 --copy-aws-credentials 不工作