2012-08-01 109 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