修改PHP、MySQL时区设置实现主机时间同步

发布时间:2021-01-05编辑:脚本学堂
很多租用国外主机的朋友,可以通过修改php或mysql时区设置,来达到国内与国外时间的一致,有遇到相关问题的朋友可以参考下本文的方法。

php编程中,所谓的时间问题归根结底也就是“时区”问题。

首先,要明白:
1、美国时间和中国时间相差应该是8小时。
2、PHP的时间和mysql的时间不是相同的。

所以,操作:
1、把美国时间改成中国时间。
2、并且要把PHP的时间和MySQL的时间统一。

一、修改MySQL时间

请在PHP程序有数据库连接的下一语句(只有1次,就加1句;若有无数次,就加无数次)加入代码:
mysql_query("SET time_zone = '+8:00'") or die('时区设置失败,请联系管理员!');

再去SELECT NOW();下,MySQL也是中国时间了。为什么是+8:00呢

中国时间和美国时间差8小时,现在MySQL的时间也搞定了。

如何证明PHP的时间和MySQL的时间是同步呢?

php时区设置的检测代码:
 

复制代码 代码示例:

<?php
//这里是页面的开头,用于改PHP时间的代码。
date_default_timezone_set('PRC') or die('时区设置失败,请联系管理员!');

//数据库一旦连接,紧跟着就是改MySQL时间的代码。
mysql_query("SET time_zone = '+8:00'") or die('时区设置失败,请联系管理员!');

//显示PHP的时间
echo date('Y-m-d H:i:s');

echo

//显示MySQL的时间
$mysql_time = mysql_query("SELECT NOW()");
$mysql_rows = mysql_fetch_row($mysql_time);

echo $mysql_rows[0];

二、修改PHP时间

首先,改PHP的时间,将这句代码插入到PHP程序中,公共调用页的顶部(要include_once,require_once到的脚本里,当然不
用_once我也没有意见),确保需要用到时间的页面都必须调用到:
date_default_timezone_set('PRC') or die('时区设置失败,请联系管理员!');

测试:
echo date('Y-m-d H:i:s');
正确显示中国时间了

在MySQL中输入语句SELECT NOW();MySQL的时间还是美国时间。
返回到上一步,发现mysql时区已设置好了。