控制器不存在解決方法:
一、排查問題方法
1、檢查鏈接;
2、檢查模塊下的文件名稱是否和鏈接一致;
3、檢查文件中類的命名是否和文件名稱一致;
4、檢查類中的操作的命名是否和鏈接中一致。
基本上按照上述方法肯定可以排查錯誤。
二、分析原因
“Controller does not exist. ” 從字面意思上說是控制器不存在,V9看來是個典型的MVC模型了,找下源碼在哪出現(xiàn)這個錯誤的……經(jīng)我查找,這個錯誤是在文件phpcms / libs / classes / application.class.php 下出現(xiàn)的也就是function load_controller() 加載控制器中,加載不到控制器而出現(xiàn)的錯誤。
application.class.php 這個文件是PHPCMS應(yīng)用程序創(chuàng)建類 每步開始初始化都要找其控制器。找不到就是上的錯誤了。
三、為什么會出現(xiàn)這個錯誤
有些用戶說是會員管理時出現(xiàn) Controller does not exist. ;有些用戶又說是登錄后臺出現(xiàn)Controller does not exist.;
再分析了function load_controller()和其調(diào)用和關(guān)系,我發(fā)現(xiàn)是這樣的:會員管理時,如出現(xiàn)這樣的Controller does not exist
先這樣在這個有Controller does not exist頁面上右鍵查看屬性
找到“index.php?m=member&c=member&a=manage&menuid=72&pc_hash=QauE2I ”,看到m=*** 和c=$$$了吧,$$$就是控制器,需要加載此控制器的文件。
本例就是要加載的文件就是phpcms/modules/member/member.php,相應(yīng)的是phpcms/modules/***/$$$.php文件,如果這個文件不存在,就會出現(xiàn)Controller does not exist這個錯誤了。
有同學(xué)說登錄后臺時有Controller does not exist,同理,看下登錄后臺出現(xiàn)的地方:
登錄的URL:
出現(xiàn)錯誤了:
這回可以找錯誤在哪了,
m=admin & c=index
找下phpcms/modules/admin/index.php文件是否存在。
四、解決方法
先把cachesconfigssystem.php下的配置文件要先配置好,然后把原安裝包里的文件放入就解決了。
推薦教程:phpcms教程