Lumen timezone 时区设置方法(慢了8个小时)


Posted in PHP onJanuary 20, 2018

根据 Laravel 4.x 和 5.0 的经验, 只需要到 config/app.php 中设置下 ‘timezone' 参数为 ‘PRC' 就好了, 找到 Lumen 的 config 目录, 在 /vendor/laravel/lumen-framework/config 路径下, 但是 config/app.php 的参数选项中没有 timezone 参数选项, 手动加上后也是无效的。

然后想到 Laravel 5 的 .env 文件, 结果发现 Lumen 的 .env 文件里也没有关于 timezone 设置的选项。

又回到 config 目录, 看看 config/database.php 中的设置, 关于 mysql 的默认配置如下:

'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','+00:00'),
 'strict'  => false,
],

在这里有个数据库的 timezone 设置, 默认 +00:00, 也就是 UTC 时间, 改成 +08:00 问题解决。由于项目启用了 .env 配置文件, 所以最终是在 .env 文件里添加了一行

DB_TIMEZONE=+08:00

数据库 timezone 问题解决。

数据库的 timezone 问题虽然解决了, 但是 app 的 timezone 问题还没解决, 全局搜索 lumen 项目, 找用到 timezone 的地方, 在 /vendor/laravel/lumen-framework/src/Application.php 文件中找到了初始化 lumen timezone 部分的代码

/**
* Create a new Lumen application instance.
*
* @param string|null $basePath
* @return void
*/
public function __construct($basePath = null)
{
 date_default_timezone_set(env('APP_TIMEZONE', 'UTC'));
 $this->basePath = $basePath;
 $this->bootstrapContainer();
 $this->registerErrorHandling();
}

代码中使用的 .env 参数为 APP_TIMEZONE, 值为 UTC, 在这里将 UTC 改为 PRC, 或者在 .env 文件里添加

APP_TIMEZONE=PRC

lumen php 的时区设置问题解决。

Lumen 时区设置总结

编辑 .env 文件添加配置

APP_TIMEZONE=PRC
DB_TIMEZONE=+08:00

若没启用 .env 配置文件, 编辑

/vendor/laravel/lumen-framework/config/database.php
/vendor/laravel/lumen-framework/src/Application.php

分别修改 APP_TIMEZONE 和 DB_TIMEZONE 参数值。

启用 .env 配置文件

将 Lumen 根目录下的 .env.example 文件重命名为 .env, 编辑 /bootstrap/app.php, 取消如下行代码的注释
Dotenv::load(__DIR__.'/../');

补充:

因为lumen默认使用格林尼治时间,需要转成北京时间。
在.env中加入

APP_TIMEZONE=PRC
DB_TIMEZONE=+08:00

这样时间就正确了

PHP 相关文章推荐
php数组函数序列之array_sum() - 计算数组元素值之和
Oct 29 PHP
在windows服务器开启php的gd库phpinfo中未发现
Jan 13 PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
php+mysqli实现批量替换数据库表前缀的方法
Dec 29 PHP
php获取文件后缀的9种方法
Mar 22 PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 PHP
CodeIgniter生成静态页的方法
May 17 PHP
php flush无效,IIS7下php实时输出的方法
Aug 25 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
基于PHP常用文件函数和目录函数整理
Aug 17 PHP
PHP Class SoapClient not found解决方法
Jan 20 #PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
Jan 20 #PHP
php实现的mongoDB单例模式操作类
Jan 20 #PHP
PHP实现合并两个排序链表的方法
Jan 19 #PHP
php利用ob_start()清除输出和选择性输出的方法
Jan 18 #PHP
php通过header发送自定义数据方法
Jan 18 #PHP
PHP实现从上往下打印二叉树的方法
Jan 18 #PHP
You might like
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
php jsonp单引号转义
2014/11/23 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
跨浏览器开发经验总结(四) 怎么写入剪贴板
2010/05/13 Javascript
$("").click与onclick的区别示例介绍
2014/09/25 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
js编写选项卡效果
2017/05/23 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
详解Bootstrap 学习(一)入门
2019/04/12 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
python 获取本机ip地址的两个方法
2013/02/25 Python
python处理csv数据的方法
2015/03/11 Python
Python 基础之字符串string详解及实例
2017/04/01 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
Python for i in range ()用法详解
2020/09/18 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
pyqt5中动画的使用详解
2020/04/01 Python
python实现画图工具
2020/08/27 Python
使用django自带的user做外键的方法
2020/11/30 Python
获奖的大学生创业计划书
2014/01/05 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
工作证明格式及范本
2014/09/12 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书