這篇文章主要介紹了關於ThinkPHP3.2無法載入控制器,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
無法載入控制器:Admin
錯誤位置
FILE: D:\phpStudy\WWW\wisdom\ThinkPHP\Library\Think\App.class.php LINE: 101
在將ThinkPHP3.1.3升級到ThinkPHP3.2.3時,即使將View、Mode、Controller放到了指定目錄下也還是出現無法載入控制器的問題,經過一番研究,發現主要可能由幾個原因引起。
APP_USE_NAMESPACE(是否使用命名空間):當設定為false時,如果定義控制器時使用了命名空間,則會導致無法載入控制器,此時將參數設為true即可。可在ThinkPHP/Common/Conf/convention.php中設定。
ACTION_BIND_CLASS(是否Binder 方法和類):當設定為false時,Controller檔案夾的結構應該為Controller/View名Controller.class.php,方法在類中逐個寫;但設定為ture時,則Controller檔案夾的結構應該為Controller/View名/方法.class.php,一個類對應一個方法。
MODULE_ALLOW_LIST(允許訪問模組)和MODULE_DENY_LIST(禁止訪問模組):當模組設定在禁止訪問或未設定在允許訪問的列表中,則無法正常訪問該模組下的所有頁面。
URL_MODEL(URL訪問模式):當不為0時,若使用U方法調用模組下的其他控制器的方法,需通過定義BIND_MODULE來定義模組,否則無法識別當前模組。
控制器定義有誤:控制器中必須在首個非注釋行定義命名空間,並且定義控制器時注意class名稱的拼字,以及extends的控制器是否存在,常常因為這個小問題導致無法存取控制器。(控制器檔案名稱/甚至Controller目錄的大小寫、拼字錯誤,新手最容易犯這個低級錯誤)
BIND_MODULE(綁定模組):如果在入口檔案中綁定了模組,則路徑中不能再包含模組,否則無法存取控制器。