解決php的“It is not safe to rely on the system’s timezone settings”問題_php技巧

來源:互聯網
上載者:User

如果使用PHP5.3以上版本時,如果沒有正確的配置php.ini就會出現PHP日期函數的錯誤。以前很多舊的PHP編程教程沒有說到這個問題,所以不少讀者會覺得困惑,下面筆者為大家講述解決這個問題的三種方法。
"PHP Warning:
date() [function.date]: 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 'UTC' for '8.0/no DST' instead in"

實際上,從PHP 5.1.0,當對使用date() 等函數時,如果 timezone 設定不正確,在每一次調用時間函數時,都會產生 E_NOTICE 或者 E_WARNING 資訊。而又在 PHP 5.1.0 中,date.timezone 這個選項,預設情況下是關閉的,無論用什麼PHP 命令都是格林威治標準時間,但是PHP 5.3 中好像如果沒有設定也會強行拋出了這個錯誤的,解決此問題,只要本地化一下就行了。

一、在頁頭使用date_default_timezone_set()設定 date_default_timezone_set('PRC'); //東八時區 echo
date('Y-m-d H:i:s');

二、在頁頭使用 ini_set('date.timezone','Asia/Shanghai');

三、修改 php.ini(如果是 windows 系統,那麼檔案在 C 盤,Windows 目錄下,假如系統是安裝在 C 盤)。使用記事本開啟 php.ini 尋找 date.timezone 去掉前面的分號修改成為:date.timezone = PRC
重啟http服務(如apache2或iis等)即可!

以上三種方法任選其中一種即可,小編推薦使用第三種方法,不用每次都要增加額外的代碼。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.