2012-04-23 102 views
1

我在服務器的夏令時有問題。php時區服務器夏令時

在php.ini中,我已經添加了以下行:

date.timezone = "Europe/Lisbon" 

而且服務器時間戳是偉大的。但幾周的集市,里斯本已進入夏季,現在是格林尼治標準時間+1000。

運行在服務器上的腳本延遲1小時...

我該如何解決這個問題?

感謝,

RL

+0

檢查服務器的時區設置。 PHP日期/時間設置不會影響此操作系統的配置。 – 2012-04-23 19:49:50

+0

我無權訪問服務器時區,因此我必須使用php.ini ... – 2012-04-23 20:09:04

+0

如果這些腳本以cron作業運行,則必須調整服務器的時區,或調整腳本的時間跑在。 PHP設置不會影響cron運行作業的方式/時間。 – 2012-04-23 20:14:03

回答

1

使用UTC爲您的時區。基本上是GMT,但沒有夏令時。

+0

但在服務器中,我使用它?問題是我只使用host.com,所以我無法訪問服務器設置。 – 2012-04-23 20:08:18

+0

那麼你已經將它設置爲'歐洲/里斯本',所以只需將其更改爲'UTC' ... – 2012-04-23 20:09:28

1

而不是修改php.ini文件。

使用 date_default_timezone_set('timezone here');

所以儘量..

date_default_timezone_set('Europe/Lisbon');

+0

我應該在哪裏進行更改?不在php.ini中? – 2012-04-23 20:08:35

+0

您可以在包含文件中的php函數中進行更改。但就像你說的那樣,它的休息時間,它似乎根據日光說。你必須編輯一個函數來根據夏令時進行調整,有一些方法可以做到這一點。這是一個例子http://php.bigresource.com/PHP-Daylight-Savings-Time-GMT-Alogorithm-H87oEoQs.html – 2012-04-23 21:32:57