【发布时间】:2012-03-21 07:37:40
【问题描述】:
我有一些类似的方法
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 的内置类。问题是,脚本试图从类文件夹中加载它。此方法适用于我的本地服务器,但远程网络服务器因以下返回而死。
<path to classes folder>/class.DateTime.php
在这种情况下我该怎么办?
【问题讨论】:
-
你的远程服务器有 PHP 5.2 吗?
-
还建议使用
spl_autoload_register代替神奇的__autoload方法。 -
那
global $path让我很难过。 -
尝试打印更多调试信息。例如文件夹中有哪些文件。你确定类
<path to classes folder>/class.DateTime.php确实存在于远程服务器上? -
@fuzzyDunlop 将 __autoload() 更改为 spl_autoload_register 。整个脚本停止工作
标签: php class function datetime autoload