Laravel项目修改时区

最近做了一个支付宝支付的应用,现在还在开发过程中,今天早上起床之后先调试了一下项目,模拟支付了一笔(¥9999.00)

2333支付宝的沙箱环境啦,屌丝程序猿哪来这么多钱……

打开 Navicat 查看数据库的时候,意外发现created_at字段的时间不大对啊,少了8小时,显示凌晨4点创建的支付订单。(没错,我睡到12点才起来的)

然后,首先意识到了PHP的时区配置不对,立即打开Wamp环境查看了一下,timezone是。。。Asia/Shanghai。额,这就很不科学了啊

接下来很自然就想到了Laravel的问题,打开Laravel的/app/config/app.php配置文件,发现里面果然有这么一行:

'timezone' => 'UTC',

哦好吧,果然是这里的问题。

由于我喜欢配置文件集中管理,并且Laravel不是有一个 .env 配置文件么,那就好好利用一下吧。

观察配置文件里其他内容发现,有一个 env() 函数,猜测这个就是从 .env 中获取配置项value的函数了,不管怎么样,先试一下就对了,试试又不会怀孕嘛……

试着对app.php做了如下改动

'timezone' => env('TIMEZONE','UTC'),

.env 文件中添加一行 TIMEZONE=Asia/Shanghai 之后,重新创建了一笔交易,用沙箱支付宝支付了一下,诶,可行 -_-

好了,就是这样,Laravel修改时区的教程到此结束,看我啰嗦了这么多,其实也就那两句。