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

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

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服務器時間不準的問題