Mysql 拉威尔时区问题

Mysql 拉威尔时区问题,mysql,laravel,nginx,digital-ocean,php-7,Mysql,Laravel,Nginx,Digital Ocean,Php 7,我的理解是,最好以UTC格式保存日期,并在必要时转换为用户的时区 在我的开发环境(本地运行的宅地)中,我的模型在UTC时间保存到我的数据库中,但在生产环境(数字海洋)中,它们在本地时间保存(美国/洛杉矶) 时区在config/app.php nginx设置为UTC php.ini设置为UTC mysql全局和会话时区设置为SYSTEM Ubuntu 16.04、nginx、PHP-7.0.8、mysql、Laravel 5.3 有人碰到这个问题吗 尝试在config/database.php

我的理解是,最好以UTC格式保存日期,并在必要时转换为用户的时区

在我的开发环境(本地运行的宅地)中,我的模型在UTC时间保存到我的数据库中,但在生产环境(数字海洋)中,它们在本地时间保存(美国/洛杉矶)

  • 时区在
    config/app.php
  • nginx设置为UTC
  • php.ini设置为UTC
  • mysql全局和会话时区设置为SYSTEM
Ubuntu 16.04、nginx、PHP-7.0.8、mysql、Laravel 5.3


有人碰到这个问题吗

尝试在
config/database.php
中的mysql连接中设置
时区
键:

'mysql' => [
    'driver'    => 'mysql',
    'host'      => env('DB_HOST', 'localhost'),
    'database'  => env('DB_DATABASE', 'forge'),
    /* ... */
    'timezone'  => '+00:00'
],

如何
var\u dump(date\u default\u timezone\u get())
它说了什么?此外,laravel还使用
.env
文件以及在那里设置了什么?
date\u default\u timezone\u get()
生成UTC。.env文件中没有时区设置,它是在
config/app.php
中设置的,我已将其设置为UTC。1)检查
/etc/timezone
是否显示本地时区。2) 安装并启动
ntp
。3) 重新启动PHP fpm进程。它设置为
Etc/UTC
服务器的
/Etc/timezone
必须显示其当前位置时区。请将其相应地设置在其所在的位置。所有其他时间偏移都取决于该信息。所以,修复
/etc/timezone
并重新启动服务器。