当前位置:首页 > 技术问答 > PHP报错“It is not safe to rely on the system’s timezone settings”的解决方法

PHP报错“It is not safe to rely on the system’s timezone settings”的解决方法

技术问答 / 星之宇 / 2021-8-25 8:00 / 浏览:3442 / 评论:0

问题描述

PHP调试的时候出现了警告:It is not safe to rely on the system解决方法,其实就是时区设置不正确造成的,本文提供了3种方法来解决这个问题。

Warning: date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Chongqing’ for ‘CST/8.0/no DST’ instead

Warning: strtotime(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Chongqing’ for ‘CST/8.0/no DST’ instead

Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in <b>/home/ftp/n/nimaboke/include/lib/function.base.php


问题分析

实际上,从PHP 5.1.0开始当对使用date()等函数时,如果timezone设置不正确,在每一次调用时间函数时,都会产生E_NOTICE或者E_WARNING信息,而又在php中,date.timezone这个选项,默认情况下是关闭的,无论用什么php命令都是格林威治标准时间,但是PHP5.3中如果没有设置部分时间类函数也会强行抛出了这个错误的。

PS:现在由于大部分人使用VPS/云主机,需要自己配置的环境的就更加会容易出现这个情况。

建议:不熟悉PHP环境还是用比较成熟的一键安装包吧。


解决方法1(建议)

在php.ini里加上找到date.timezone项,设置date.timezone="Asia/Shanghai",重启环境就ok了。


解决方法2

在需要用到这些时间函数的时候,在页面添加date_default_timezone_set("PRC");


解决方法3

在页头加上设置时区ini_set('date.timezone','Asia/Shanghai');

目前有 0 条评论

    • 昵称
    • 邮箱
    • 网址