cakephp - MariaDB 时区错误

标签 cakephp centos timezone mariadb

SHOW GLOBAL VARIABLES LIKE 'time_zone'返回:

Variable_name | Value
time_zone       SYSTEM
在 Centos 7 服务器上 timedatectl返回:
      Local time: Fr 2020-09-25 20:24:14 CEST
  Universal time: Fr 2020-09-25 18:24:14 UTC
        RTC time: n/a
       Time zone: Host (CEST, +0200)
使用 DATETIME 在表中插入新行类型和默认值 current_timestamp()此字段具有 UTC 时间 [在本例中为 2020-09-25 18:24:14 而不是 2020-09-25 20:24:14]。
我的问题:
我究竟做错了什么?我知道如何设置时区,但 SYSTEM值应该没问题,因为 Centos 7 服务器设置了正确的时区。
更新
1)
回复评论,SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;第一次返回 SYSTEM和第二个'+00:00'。我在 Plesk 环境中的 PHP 下运行它。
2)
起初,该表没有此 DATETIME 字段。当我用 PMA 添加它时,插入的日期时间 [因为该字段被定义为 NOT NULL ] 是正确的!只有当我运行 INSERT语句然后它插入 UTC 时间。

最佳答案

感谢 Danila Vershinin ,我可以找到问题。这是他的问题SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;返回让我朝着正确的方向前进。
首先,我在 PMA 中运行了返回 SYSTEM 的命令。 .在 PMA 中插入行会生成正确的时间。只有在 CakePHP 下运行的 PHP 脚本有问题,然后我检查了 app_local.php 中的设置确实有UTC作为 timezone .更改 timezoneSYSTEM解决它。
我应该说什么,MariaDB 可以正常工作,并且由于默认的 CakePHP timezone设置我遇到了这个问题。我现在也在问题中添加了 cakephp标记,因为这是问题的原因。

关于cakephp - MariaDB 时区错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64069509/

相关文章:

unit-testing - 保存Associates Cakephp时如何测试添加

CakePHP、URL 和 SEO

python - CentOS 5.7 上的 mod_wsgi 禁止错误

apache - Centos 上的 munin

java - 在时区字符串列表中根据 GMT 时间对时区进行排序

php - 在 TinyMCE 中使用新的 iframe 嵌入代码嵌入 YouTube 视频

php - 表对象使用 Cake\ORM\Table 而不是具体类 : How to fix?

python - 在 Centos Linux 上,如何使用 pip 安装 Python 包 'readline'?

javascript - momentjs 如何保持时区数据最新

PHP - 无法将正确的 DateTimeZone 设置为 DateTime