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修改時區的教程到此結束,看我啰嗦了這么多,其實也就那兩句。