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