當運行一些程序時,在httpd日志中會有如下警告日志:
PHP Warning: strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST'。。。。。。。。。。。
-
原因分析:
這是因為PHP默認是以格林威治標准時間(UTC)為准進行時間轉換,因為自己所處的當地時間與UTC會有出入,格林威治標准時間和北京時間有8個小時的時間差。因此我們必須為PHP指定一個時區,讓php知道以哪個時區為准進行轉換。 -
解決辦法:
-
在你的PHP程序頭部使用date_default_timezone_set()設置我的默認時區為北京時間(PRC,中國的英文縮寫),即 <?php date_default_timezone_set("PRC"); ?>就可以了。這種方法使用時太復雜,必須在每個使用date的文件中添加相關函數,下面的方法更簡單方便。
-
在php.ini中找到date.timezone行,支持前面的';'號(如果沒有修改過的話應該是沒有啟動此選項的),並將它的值設置為PRC,設置好以后為:date.timezone="Asia/Shanghai"。