LAMP環境下,理想的情況是Linux PHP MySQL的時區都設置一致,否則程序極易出現一些陰差陽錯的【時間差】問題。假設設置時區為:"Asia/Shanghai"
1. Linux設置時區,以CentOS5.5為例:
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2. MySQL中設置時區
編輯MySQL配置文件:my.cnf/my.ini,在[mysqld]下加上:
default-time-zone = '+8:00'
實際上,如果MySQL所在OS的時區已經設置正確,則可以不用在MySQL中設置時區,因為MySQL服務啟動的時候,會自動采用OS的時區。
3. PHP中設置時區
在PHP配置文件PHP.ini中:
1 date.timezone = "Asia/Shanghai"
設置好後,最好重啟下系統。
如果是購買的Web空間,沒有權限在Linux PHP MySQL中配置時區。那也好辦,只需要在PHP腳本中設置和OS對應的時區,因為MySQL中默認使用的是OS的時區。假設OS的時區是'Asia/Shanghai',使用下面兩條語句其中之一即可:
ini_set('date.timezone', 'Asia/Shanghai');
date_default_timezone_set('Asia/Shanghai');