控制器不存在解决方法:
一、排查问题方法
1、检查链接;
2、检查模块下的文件名称是否和链接一致;
3、检查文件中类的命名是否和文件名称一致;
4、检查类中的操作的命名是否和链接中一致。
基本上按照上述方法肯定可以排查错误。
二、分析原因
“Controller does not exist. ” 从字面意思上说是控制器不存在,V9看来是个典型的MVC模型了,找下源码在哪出现这个错误的……经我查找,这个错误是在文件phpcms / libs / classes / application.class.php
下出现的也就是function load_controller()
加载控制器中,加载不到控制器而出现的错误。
application.class.php
这个文件是PHPCMS应用程序创建类
每步开始初始化都要找其控制器。找不到就是上的错误了。
三、为什么会出现这个错误
有些用户说是会员管理时出现 Controller does not exist. ;有些用户又说是登录后台出现Controller does not exist.;
再分析了function load_controller()和其调用和关系,我发现是这样的:会员管理时,如出现这样的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,相应的是phpcms/modules/***/$$$.php文件,如果这个文件不存在,就会出现Controller does not exist这个错误了。
有同学说登录后台时有Controller does not exist,同理,看下登录后台出现的地方:
登录的URL:
出现错误了:
这回可以找错误在哪了,
m=admin & c=index
找下phpcms/modules/admin/index.php文件是否存在。
四、解决方法
先把caches\configs\system.php下的配置文件要先配置好,然后把原安装包里的文件放入就解决了。
推荐教程:phpcms教程