2013-07-22 58 views
1

当我使用Excel_Reader库将excel文件导入到MySQL时,我突然在网站上发生了以下错误。PHP mktime()错误

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

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

这个错误是因为下面一行:

$string = date ($format, mktime($hours, $mins,$secs, 
       $dateinfo["mon"], $dateinfo["mday"], $dateinfo["year"])); 
我目前使用PHP版本5.3.1

。这个脚本与我的PHP版本不兼容吗?我该如何解决这个错误?

+1

您是否尝试过**读取**错误信息?它清楚地说明你做错了什么 – zerkms

回答

2

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

你有三种解决方案:

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

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

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

文档:date_default_timezone_set()ini_set()

希望这有助于!

+0

非常感谢...... :) – dyn

+0

这很简单,我把'date.timezone = UTC'放在我的php.ini文件中,因为这就是我一直使用的问题,并解决了问题立刻。 –