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 を使用していましたが、サーバーで試すのは初めてです。より良い実践のためのアドバイスは役に立ちます。ありがとう