最近作了一个支付宝支付的应用,如今还在开发过程当中,今天早上起床以后先调试了一下项目,模拟支付了一笔(¥9999.00)php
2333支付宝的沙箱环境啦,屌丝程序猿哪来这么多钱……laravel
打开Navicat
查看数据库的时候,意外发现created_at字段的时间不大对啊,少了8小时,显示凌晨4点建立的支付订单。(没错,我睡到12点才起来的)数据库
而后,首先意识到了PHP的时区配置不对,当即打开Wamp环境查看了一下,timezone是。。。Asia/Shanghai。额,这就很不科学了啊app
接下来很天然就想到了Laravel的问题,打开Laravel的/app/config/app.php配置文件,发现里面果真有这么一行:函数
[ 'timezone' => 'UTC', ]
哦好吧,果真是这里的问题。调试
因为我喜欢配置文件集中管理,而且Laravel不是有一个.env
配置文件么,那就好好利用一下吧。code
观察配置文件里其余内容发现,有一个env()
函数,猜想这个就是从.env
中获取配置项value的函数了,无论怎么样,先试一下就对了,试试又不会怀孕嘛……教程
试着对app.php作了以下改动支付宝
[ 'timezone' => env('TIMEZONE','UTC'), ]
在.env
文件中添加一行TIMEZONE=Asia/Shanghai
以后,从新建立了一笔交易,用沙箱支付宝支付了一下,诶,可行 -_-开发
好了,就是这样,Laravel修改时区的教程到此结束,看我啰嗦了这么多,其实也就那两句。