在使用 lumen 开发 API 的时候,可能会遇到时区不一致的问题,这个通常表现为项目代码的时间跟数据库的 created_at updated_at 不在同一个时区内,这个时候可以尝试下面两个小小的设置技巧:
1.设置 .env 的 APP_TIMEZONE
在 .env 文件中增加下面这一行的配置:
APP_TIMEZONE=PRC
如果这一行 APP_TIMEZONE 配置存在的话,将 UTC 改为 PRC。
设置数据库的时区
在 database 的链接配置中,增加下面的配置:
'timezone' => env('DB_TIMEZONE','+08:00'),
最终的 database 配置大概是这个样子:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 3306),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => env('DB_PREFIX', ''),
'timezone' => env('DB_TIMEZONE','+08:00'),// 添加这一行
'strict' => false,
],
这样一来,基本上就可以解决 lumen 的时区不一致的问题了