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');
新闻热点
疑难解答