首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP.ini 中 date.timezone 時區設定完整指南

     編輯:PHP 綜合知識

問題背景

PHP 5.1.0 起引入 date.timezone 設定,預設關閉導致時間顯示為格林威治標準時間(GMT),與北京時間相差 8 小時。許多開發者在設定時發現官方文檔未列出 "PRC" 等簡寫,僅支援 "Asia/Shanghai" 等完整格式,且 XAMPP 環境下修改 php.ini 常不生效。

正確的時區設定值

PHP 使用 IANA 時區資料庫格式,常用中文區域設定:

設定值對應地區
Asia/Shanghai上海(推薦,含北京時間)
Asia/Chongqing重慶
Asia/Urumqi烏魯木齊
Asia/Hong_Kong香港
Asia/Macao澳門
Asia/Taipei台北
PRC中華人民共和國(別名,等同 Asia/Shanghai)

說明: "PRC" 雖不在官方標準列表中,但 PHP 內建支援作為 "Asia/Shanghai" 的別名,可正常使用。

修改步驟

  1. 找到正確的 php.ini 檔案位置
  2. 搜尋 ;date.timezone =
  3. 移除前方分號 ; 啟用設定
  4. 設定值,例如:date.timezone = Asia/Shanghai
  5. 重啟 Web 服務(Apache/Nginx/PHP-FPM)

XAMPP 環境特別注意

XAMPP 將 PHP 設定檔放在 apache/bin/php.ini,而非 php 目錄下。修改錯誤檔案是導致不生效的主因。

# XAMPP 典型路徑
C:\xampp\apache\bin\php.ini  ← 正確位置
C:\xampp\php\php.ini         ← 錯誤位置(僅 CLI 使用)

驗證方法

<?php
echo date('Y-m-d H:i:s');  // 輸出應為本地時間
echo ini_get('date.timezone');  // 確認設定生效
?>

常見錯誤排查

  • 修改後未重啟服務
  • 編輯錯誤的 php.ini(CLI vs Apache 模組)
  • 設定值拼寫錯誤(區分大小寫)
  • php.ini 中有多處 date.timezone 設定,以最後一處為準
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved