如果你的服务器分布在不同的地区或者国家,那么有可能有些应用所在的服务器和访问的区域间隔较大,导致服务器时间不准确。
对于相同的时间戳,如果时区不同,得到的日期时间字符串也会不同。因此,设置正确的时区非常必要。
不同的时区,会影响 date('Y-m-d H:i:s', time()) 或类似函数的值。
我们可以通过设置默认时区的方法来处理。
修改时区的位置大致如下:
1.在PHP.INI配置文件中设置时区:文件位置/usr/local/php/etc/php.ini
date.timezone = PRC
2.在代码中设置时区:
2-1.文件位置:/api/public/init.php
date_default_timezone_set('Asia/Phnom_Penh')//必写:柬埔寨时区
常用时区如下:
a). date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海
b) date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”
c) date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”
d) ini_set('date.timezone','Etc/GMT-8');
e) ini_set('date.timezone','PRC');
f) ini_set('date.timezone','Asia/Shanghai');
d) ini_set('date.timezone','Asia/Chongqing');
经过多次测试使用:建议此处使用date_default_timezone_set来设置时区,效果明显。
2-2. 文件位置:/application/Common/Conf/config.php
'DEFAULT_TIMEZONE'=>'Asia/Phnom_Penh',//时区设置:柬埔寨时区
3.修改服务器电脑时间设置
以上代码中函数注解:
参数:timezone:必需。规定要使用的时区,比如 "UTC" 或 "Europe/Paris"。
合法时区的列表: http://www.php.net/manual/zh/timezones.php
2. ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便
函数格式:string ini_set(string $varname, string $newvalue)
至此,所有修改时区的地方设置完成,实现php时间保持一致。