最近作了一個支付寶支付的應用,如今還在開發過程當中,今天早上起牀以後先調試了一下項目,模擬支付了一筆(¥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修改時區的教程到此結束,看我囉嗦了這麼多,其實也就那兩句。