我使用 spl_autoloader_register 函数制作了一个简单的自动加载器,它在我的虚拟服务器上运行良好,但在服务器中我只得到“致命错误:找不到类'X'”。我在带有 PHP 5.4 的 mac 上运行它,但它也可以在带有 5.3 版本的 windows/ubuntu 中运行,这与我的物理服务器相同。我没有 SSH 访问权限。这是我的自动加载代码:
class Load
{
public static function autoload($class)
{
$class = strtolower($class);
$lib = $_SERVER['DOCUMENT_ROOT'] . BASENAME . "/libs/{$class}.php";
$model = $_SERVER['DOCUMENT_ROOT'] . BASENAME . "/models/{$class}.class.php";
$controller = $_SERVER['DOCUMENT_ROOT'] . BASENAME . "/controllers/{$class}.php";
if(is_readable($lib)){
require_once $lib;
}elseif (is_readable($model)) {
require_once $model;
}elseif (is_readable($controller)){
require_once $controller;
}
}
}
spl_autoload_register("Load::autoload");
我总是将 spl 用于本地应用程序,但这是我第一次在服务器上尝试它。任何有关更好做法的建议都会有所帮助。谢谢