校正PHP服務器時間不準的問題
阿新 • • 發佈:2018-12-28
col 函數 管理 過程 apach cnblogs time web 修正
關於怎樣解決PHP服務器時間不準的問題,得針對不同的情況進行不同的處理。
下面是經常遇到的情況,及應對辦法。
1.PHP服務器時區不對,使用下面代碼修正:
<?php $timezone = "PRC"; if(function_exists(‘date_default_timezone_set‘)){ date_default_timezone_set($timezone); } echo date(‘d-m-Y H:i:s‘); ?>
或修改PHP.INI文件後重新啟動IIS或APACHE服務器
date.timezone = RPC
2.PHP服務器的時間不對,不是時區,該問題解決方法如下:
方法一 如果你是管理員,直接去調整服務器的時間,只要服務器時間校正了,就沒問題了。
方法二 如果沒法修改服務器時間,又要PHP程序顯示的時間正確,那得通過PHP代碼來實現。具體過程如下:
在全局配置文件中,添加時間提前量。
$webdb[‘correctiontime‘] = ‘-110‘;//把服務器時間減去110秒
書寫時間顯示函數:
//格式化時間為年月日 function day($time = ‘‘) { global $webdb; if (!$time) { $time= time(); } return date("Y/m/d",$time+$webdb[correctiontime]); } //格式化時間為年月日時分秒 function daytime($time = ‘‘) { global $webdb; if (!$time) { $time = time(); } return date("Y/m/d H:i:s",$time+$webdb[correctiontime]); } //格式化時間為[2012/06/30 18:24] function dayshorttime($time = ‘‘) { global $webdb;if (!$time) { $time = time(); } return date("Y/m/d H:i",$time+$webdb[correctiontime]); }
最後,在所有要顯示PHP時間的地方,調用上面3個函數中的其中一個。
平時還是喜歡用最後一種方法,因為不能保證虛擬服務器的時間是完全準確的世界時間。
如果你有系統管理權限,那又另當別論。
轉自:https://www.cnblogs.com/ccode/p/3905943.html
校正PHP服務器時間不準的問題