Lumen 时区设置

根据 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_TIMEZONEDB_TIMEZONE 参数值。

启用 .env 配置文件

将 Lumen 根目录下的 .env.example 文件重命名为 .env, 编辑 /bootstrap/app.php, 取消如下行代码的注释

Dotenv::load(__DIR__.‘/../‘);

转自:http://www.widlabs.com/article/lumen-set-timezone
时间: 2024-12-19 09:08:28

Lumen 时区设置的相关文章

linux下的时间及时区设置

一.时间设置及同步 1修改系统时间 #date -s 06/18/14 #date -s 14:20:50 2命令查看.设置硬件时间 #hwclock  --show 或者clock  --show #设置硬件时间 hwclock --set --date="06/18/14 14:55" 或者# clock --set --date="06/18/14 14:55" 3同步系统及硬件时钟 # hwclock --hctosys 或者 # clock --hctos

ubuntu server 时区设置问题解决

1.当执行此命令的时候 ntpdate us.pool.ntp.org 出现一下错误提示 name server cannot be used: Temporary failure in name resolution 2.解决办法(添加DNS服务器) vi /etc/resolv.conf 添加: nameserver 8.8.4.4 3.国内常用NTP服务器地址及IP2011-09-07 15:06:08210.72.145.44 (国家授时中心服务器IP地址)133.100.11.8 日本

时间同步总是不对,可能是时区设置的问题

最近开始研究nagios. oldboy说,这个软件对"时间同步"的要求比较严.但是,我选择作为nagios服务端的虚拟机,是当年学RHCE的时候做的.那时候我就发现,时间同步总是不对.为此,还尝试安装过"VMware Tools".虽然安装成功,但是,时间同步还是不准确(误差会有6个小时以上). 这次,其实再换台虚拟机也行.只不过,自己确实不想再赶什么时间.做到什么地方,算什么地方吧--好在,也没有花太多的时间,这个问题就解决了. 通过在百度上搜索关键字"

CentOS 7时区设置

安装完CentOS 7过后由于各种原因需要修改或是设备时区来同步服务器的时间. 在CentOS 7里面有一个命令timedatectl可以帮助我们修改服务器的时区. 首先我们可以使用timedatectl命令查看目前服务器里的时区设置: Local time: Wed 2015-07-22 16:48:14 CST Universal time: Wed 2015-07-22 08:48:14 UTC Timezone: Asia/Shanghai (CST, +0800) NTP enable

linux时间时区设置修改及时间同步

linux时间时区设置修改及时间同步一.时区显示时区date --help 获取帮助date -Rdate +%z上面两个命令都可[[email protected] ~]# date -R; date +%zFri, 19 Oct 2012 23:34:27 +0800+0800主要就是后面的+0800,东八区修改时区cp /etc/localtime /etc/localtime.bak #备份系统默认时区cp /usr/share/zoneinfo/Asia/Shanghai /etc/l

mysql-connector-java 6.x 时区设置

最近遇到了一个问题,java从mysql从读出的时间与本地时间有14个小时的时间差,经查证.测试解决了此问题,在此总结一下: 一.使用mysql-connector-java 6.x版本驱动需要做如下配置: 1.引入pom <dependency>   <groupId>mysql</groupId>   <artifactId>mysql-connector-java</artifactId>   <version>6.0.6<

【数据库运维】数据库(服务器)的时区设置及世界主要地区的时区

[时区设置不当会有什么问题] 当进行海外项目运维的时候,经常会遇到时区设置的问题,如果时区设置不当 或者 相同项目的服务器之间的时区不一致,都会有导致项目的数据异常的风险. 如果数据表的字段使用了date类型的字段,字段的默认值是sysdate,并且程序插入记录的时候使用了字段的默认值,那么就有可能导致数据异常.在修改数据库服务器的时区时,也是需要谨慎操作的. [服务器时间同步的方法] # 时间同步服务器请修改为要求的地址(建议使用Windows的地址,因为世界上大部分个人电脑使用的是Windo

Django时区设置的郁闷

第一次在windows下看到这个设置的时候,就设置成Ubuntu上时区设置的字符串“Asia/Shanghai”,结果报错通不过,最后记不清楚从哪儿查的,改成GMT+8. 最近把应用放到Linux上做一些生产环境下的问题解决,发现上面那个时区设置有问题,查了一下,linux上又得改回成“Asia/Shanghai”.我去,两个系统能不能稍微标准化一下.

Tomcat时区设置方法[转]

最近被问到了关于Tomcat时区设置方法,还没碰到类似的问题,网上说是记录日志和定时任务时可能会出现,目前还未发现,先记录下来. 原文地址:http://blog.csdn.net/x_yp/article/details/6234327,下面为原文: 今天在项目中碰到了一个tomcat时间跟系统时间不一致的问题,上网找到了解决方法,参见网址:http://evanmin.javaeye.com/blog/849844 一,在catalina.bat中配置如下: set JAVA_OPTS=%J