我有一些方法,看起来像
public function getTime() {
$date = new DateTime();
$date->setTimezone(new DateTimeZone('Europe/Paris'));
return $date->format('Y-m-d H:i:s');
}
从具有自动加载功能的文件内部调用此方法
function __autoload($class_name) {
global $path;
if (file_exists($path['classes'] . ds . 'class.'. $class_name . '.php')) {
require_once($path['classes'] . ds . 'class.'. $class_name . '.php');
} else {
die($path['classes'] . ds . 'class.'.$class_name . '.php');
}
}
正如您所知,DateTime是PHP的内置类。问题是,脚本试图从classes文件夹加载它。这个方法在我的本地服务器上有效,但远程Web服务器会因以下返回而失效。
<path to classes folder>/class.DateTime.php
这种情况下我该怎么办?
可能是方法getTime()
试图解析当前namespace
中的DateTime
类。
如果希望使用内置的DateTime
类,则必须引用全局命名空间。
由此:
public function getTime() {
$date = new DateTime();
$date->setTimezone(new DateTimeZone('Europe/Paris'));
return $date->format('Y-m-d H:i:s');
}
到此:
public function getTime() {
$date = new 'DateTime();
$date->setTimezone(new 'DateTimeZone('Europe/Paris'));
return $date->format('Y-m-d H:i:s');
}