1. 程式人生 > >校正PHP伺服器時間不準的問題

校正PHP伺服器時間不準的問題

關於怎樣解決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