[英]php.ini 'date.timezone' doesn't have any effect
在我的php.ini中,我設置了:
date.timezone = "Etc/UTC"
服務器的時間也是UTC + 0,但是當我嘗試使用此腳本獲取時區時:
<?php print(date_default_timezone_get()); ?>
它返回
歐洲/柏林
這是UTC+2
而不是UTC+0
,我不知道它如何到達那里。
只是為了澄清:
date()
方法 UTC+0
UTC+0
,而忽略夏季/冬季 該行肯定是更改默認時區的正確位置。
您實際上是在更改正確的php.ini嗎? 某些設置可以具有多個.ini文件。 運行phpinfo();
並檢查“ 已加載的配置文件”以查看是否是該文件。
檢查文件中是否沒有該參數的其他定義。 如果您只是將其復制粘貼到任何地方,它可能會覆蓋您設置的內容。
檢查代碼是否不覆蓋您在.ini文件中設置的內容。 date_default_timezone_set()
在PHP中對其進行設置(並覆蓋)。
檢查phpinfo()
以獲得有關當前時區的更多信息。
您是否為您的Web服務器用戶檢查了“ TZ”環境變量? 如果已設置,則date.timezone php.init設置將無法按預期工作,如php手冊中所述 :
date.timezone字符串所有日期/時間函數使用的默認時區。 在PHP 5.4.0之前,只有在未設置TZ環境變量的情況下,這才起作用。 如果date_default_timezone_get()頁中描述了未明確提及時區的時區優先順序。
在評論中, Minesh Patel告訴我檢查是否覆蓋了我的選擇,因此我在php.ini中搜索了Europe/Berlin
,結果發現還有另一個date.timezone
覆蓋了它。
我建議您參考此列表以選擇您的時區:
警告:請勿使用以下鏈接中列出的任何時區,它們僅出於向后兼容的原因存在, 除了UTC之外 :
強烈建議您使用正確的時區,例如Europe / Berlin :
date.timezone = "Europe/Berlin"
在您的php.ini文件中找到“歐洲/柏林”(使用phpinfo()獲取文件的正確路徑;)
在某些情況下,“ date.timezone”參數在文件中出現兩次。
確保您從此處輸入正確的時區(php時區)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.