It is not safe to rely on the system解決方法,其實就是時區(qū)設(shè)置不正確造成的,實際上,從PHP 5.1.0開始當對使用date()等函數(shù)時,如果timezone設(shè)置不正確,在每一次調(diào)用時間函數(shù)時,都會產(chǎn)生E_NOTICE 或者 E_WARNING 信息,而又在php中,date.timezone這個選項,默認情況下是關(guān)閉的,無論用什么php命令都是格林威治標準時間,但是PHP5.3中如果沒有設(shè)置部分時間類函數(shù)也會強行拋出了這個錯誤的。
PS:現(xiàn)在由于大部分人使用VPS/云主機,需要自己配置的環(huán)境的就更加會容易出現(xiàn)這個情況。
建議:不熟悉PHP環(huán)境還是用比較成熟的一鍵安裝包吧。
- 方法1:
(最好的方法)在php.ini里加上找到date.timezone項,設(shè)置date.timezone = "Asia/Shanghai",重啟環(huán)境就ok了。- 方法2:
在需要用到這些時間函數(shù)的時候,在頁面添加date_default_timezone_set("PRC");
- 方法3:
在頁頭加上設(shè)置時區(qū)ini_set('date.timezone','Asia/Shanghai');