2012-08-01 84 views
2

我想知道是否有任何理由为什么DateTime类不会工作或支持我的服务器。我的规格是:PHP的DateTime类不工作

  1. PHP 5.3.10
  2. Drupal的7.12

我不知道,如果它是一个Drupal的事情还是什么。我不知道该在哪里查看是否有错误,并且它让我误以为应该是核心部分的东西不是。一个简单的脚本,如:

<?php 
    $d = new DateTime(); 
    echo $d->format("Y-m-d"); 
?> 

适用于我的本地MAMP测试服务器,但不适用于远程服务器。那么它是某种Drupal shenanigans还是可能在PHP中被关闭/排除的东西?我该如何解决它?

+1

你会得到什么错误信息? – 2012-08-01 17:07:53

+0

好的我以为我没有在我的error_log中得到任何错误,但事实证明我是。他们给出一个未捕获的异常错误:“依靠系统的时区设置是不安全的。”所以我想这意味着我必须明确设置时区? – Perley 2012-08-01 17:14:37

+0

是的。你可以使用'date_default_tiemzone_set()'在你的php.ini文件或者你的php脚本中执行这个操作'http://php.net/manual/en/function.date-default-timezone-set.php – Matt 2012-08-01 17:17:56

回答

0

根据http://php.net/manual/en/datetime.installation.php

There is no installation needed to use these functions; they are part of the PHP core.

有可能潜在有日期时间操作的影响一些php.ini设置,但我不知道他们是否会使其无法工作:http://php.net/manual/en/datetime.configuration.php

在最近的评论来看,你可以在一个链接中的设置设置时区在php.ini,或者你可以在运行时与date_default_timezone_set()功能,它接受一个时区标识符可以做到这一点发现于this list

更多关于功能:http://php.net/manual/en/function.date-default-timezone-set.php

+0

这不是一个真正的答案,即使它有点长的评论... – Matt 2012-08-01 17:14:16

+0

@Matt这是我想提供的信息的困境。在我的辩护中,这个问题还有很多不足之处。 – 2012-08-01 17:15:37

+0

这就是为什么我没有投票。 – Matt 2012-08-01 17:15:55