程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 深入解析PHP 5.3.x 的strtotime() 時區設定 警告信息修復

深入解析PHP 5.3.x 的strtotime() 時區設定 警告信息修復

日期:2017/1/17 18:01:58      編輯:關於PHP編程

PHP Warning:
strtotime(): 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' instead in /var/www/cacti/index.php
查了一些資料,說是PHP版本太高,在新版本中必須指定timezone之類的。

具體操作方式如下:
1、在php配置文件中添加timezone的配置
(參照debian的配置規則,添加小的配置規則文件即可,好維護,自定義性好)
~# vim /etc/php/cli-php5.3/ext-active/date_timezone.ini
date.timezone = "Asia/Shanghai"
~ # env-update
~ # source /etc/profile
自定義的文件放在cli-php5.3/ext-active目錄中,是因為php默認是采用cli方式,另外ext-active目錄是表示啟用特性的專用目錄,這個可以從/etc/env.d/20php5.3文件中看出來
MANPATH="/usr/lib/php5.3/man/"
CONFIG_PROTECT_MASK="/etc/php/cli-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/apache2-php5.3/ext-active/"

2、在出現錯誤提示的php文件中添加date_default_timezone_set('Asia/Shanghai');位置是在中國上海

注:
在某些參考資料中是說這兩個方法任選其一就可,但經我測試,必須兩個方法同時使用,才不會再出現錯誤提示。

經實測其實第二個方法並不需要在每個出現錯誤提示的PHP文件中添加,只需在其中一個PHP文件中添加即可。另外添加的時區不需要與提示中的時區一樣,比如系統給我的提示是Chongqing,但我設置成Shanghai也是一樣的,當然這個時間也是與我系統的時區設置是一樣的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved