PHP mktime() error


PHP mktime() error

当我使用excel_Reader库将excel文件导入MySQL时,我在一个网站上突然出现以下错误。

这是mktime()产生的错误消息:

消息:mktime()[function.mktime]:依赖系统的时区设置是不安全的。需要使用date.timezone设置或date_default_timezone_set()函数。如果您使用了其中任何一种方法,但仍然收到此警告,则很可能是您拼错了时区标识符。我们选择了"亚洲/克拉斯诺亚尔斯克"作为"7.0/无夏令时",而不是

错误是由于以下行:

$string = date ($format, mktime($hours, $mins,$secs, 
                $dateinfo["mon"], $dateinfo["mday"], $dateinfo["year"]));

我目前使用的是PHP 5.3.1版本。这个脚本与我的PHP版本不兼容吗?如何修复此错误?

这个错误说明了一切。依赖系统的时区设置是个坏主意,因此您需要使用以下选项之一指定时区。

您有三种解决方案:

  1. 使用date_default_timezone_set():在PHP脚本中设置默认时区

     date_default_timezone_set("America/Los_Angeles");
    
  2. 使用ini_set()设置默认时区:

     ini_set('date.timezone', 'America/Los_Angeles'); 
    
  3. php.ini文件中将其定义为date.timezone

文档:date_default_timezone_set()ini_set()

希望这能有所帮助!