2013-07-22 56 views
1

當我使用Excel_Reader庫將excel文件導入到MySQL時,我突然在網站上發生了以下錯誤。PHP mktime()錯誤

這是錯誤消息mktime()生產:

消息:mktime()[function.mktime]:這是不安全的依賴於系統的時區設置。您需要需要才能使用date.timezone設置或date_default_timezone_set()函數。如果您使用這些方法中的任何一種,並且仍然收到此警告,則很可能是拼寫錯誤的時區標識符。我們選擇了 '亞洲/克拉斯諾亞爾斯克' 爲 '7.0 /沒有DST',而不是

這個錯誤是因爲下面一行:

$string = date ($format, mktime($hours, $mins,$secs, 
       $dateinfo["mon"], $dateinfo["mday"], $dateinfo["year"])); 
我目前使用PHP版本5.3.1

。這個腳本與我的PHP版本不兼容嗎?我該如何解決這個錯誤?

+1

您是否嘗試過**讀取**錯誤信息?它清楚地說明你做錯了什麼 – zerkms

回答

2

錯誤說明了這一切。依靠系統的時區設置是一個壞主意,因此您需要使用以下選項之一來指定時區。

你有三種解決方案:

  1. 設置在你的PHP腳本中的默認時區使用date_default_timezone_set()

    date_default_timezone_set("America/Los_Angeles"); 
    
  2. 使用ini_set()設置默認時區:

    ini_set('date.timezone', 'America/Los_Angeles'); 
    
  3. 在中將其定義爲文件。

文檔:date_default_timezone_set()ini_set()

希望這有助於!

+0

非常感謝...... :) – dyn

+0

這很簡單,我把'date.timezone = UTC'放在我的php.ini文件中,因爲這就是我一直使用的問題,並解決了問題立刻。 –