0
我在localhost上創建了一個網站模塊,並試圖讓它在活動服務器上工作,這令人沮喪,因爲我確信每個要加載的類都有正確的語法。即使路徑相同,它們也不會被加載。在其他服務器上PHP自動加載失敗
function __autoload($class_name) {
require("adk3/classes/".$class_name.".php");
}
以上是它從根目錄(htdocs中/的index.php)
function autoloader(){
require("adk3/classes/".$class_name.".php");
}
spl_autoload_register('autoloader',true);
本地主機執行工作原來這是我當時也想,也沒有工作。我也查了絕對路徑:
require(dirname(__FILE__)."/adk3/classes/".$class_name.".php");
腳本在$userList = new UserList();
停止執行,甚至沒有與E_ALL
打開任何錯誤消息。使用dirname語法file_exists()
說是 - 它們存在。
編輯(附加信息):
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE | E_STRICT | E_ALL);
沒有什麼幫助的。- PHP版本是5.3.1。
<?php require("adk3/interfaces.php"); // okay require("adk3/classes/UserList.php"); //STOPS without error shown
嘗試使用'E_ALL | E_STRICT' – Halcyon
嘗試使用參數運行:function autoloader($ class_name){ require(「adk3/classes /".$ class_name。」。php「); } spl_autoload_register('autoloader',true); –
也將你的dirname()包裝在realpath()中,如果它不能解析路徑,它將返回false。 回顯包含您正在嘗試的路徑的文件名稱。如果你什麼都沒有收到,自動加載器沒有運行。 如果它正在返回文件的路徑OK,自動加載器正在運行。將它包裝在realpath()中,看看PHP是否可以看到該文件:) –