加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

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

发布时间:2021-04-01 14:56:15 所属栏目:编程 来源:网络整理
导读:根据 Laravel 4.x 和 5.0 的经验,只需要到 config/app.php 中设置下 ‘timezone' 参数为 ‘PRC' 就好了,找到 Lumen 的 config 目录,在 /vendor/laravel/lumen-framework/config 路径下,但是 config/app.php 的参数选项中没有 timezone 参数选项,手动加上后也

根据 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 的默认配置如下:

[ 'driver' => 'mysql','host' => env('DB_HOST','localhost'),'port' => env('DB_PORT',3306),'database' => env('DB_DATABASE','forge'),'username' => env('DB_USERNAME','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 部分的代码

basePath = $basePath; $this->bootstrapContainer(); $this->registerErrorHandling(); }

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

APP_TIMEZONE=PRC

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

Lumen 时区设置总结

编辑 .env 文件添加配置

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

分别修改 APP_TIMEZONE 和 DB_TIMEZONE 参数值。

启用 .env 配置文件

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

补充:

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

APP_TIMEZONE=PRC DB_TIMEZONE=+08:00

这样时间就正确了

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读