php控制器找不到的解决办法:1、检查原本目录里面的controller文件夹;2、修改“'auto_multi_app' =>true,”;3、运行“php think service:discover”;4、在tp目录下重新运行开启多应用的代码即可。

本教程操作环境:windows7系统、thinkphp v6版、Dell G3电脑。

如何解决php控制器找不到报错的问题?

TP6多应用模块报错找不到控制器问题

主要内容还是在单应用模块更改为多应用模块时出现的报错问题,针对萌新,没有经过系统学习的新手。

在开启多应用模块时在cmd中运行

composer require topthink/think-multi-app

没有报错,但是依然打不开项目。报错

#0 [0]HttpException in Controller.php line 76

控制器不存在:app\controller\Index

这时候app\controller\表明他还是在单应用模式下,多应用没有开启成功。

原因可能1:删除原本目录里面的controller文件夹,因为这个文件存在的话,项目会直接先搜索这个文件,认为它还是单应用项目,不会进行多应用项目。

原因可能2:(这种情况我没遇到过所以这个方法我没有试过)在config文件夹下的app.php中

'auto_multi_app'   => false,

修改为

'auto_multi_app'   => true,

但是在最新的版本中,是不需要这句代码的,没有的话就不用改说明不是这个原因。

可能原因3:在cmd中的项目目录下(注意一定是在www/tp目录下)运行

php think service:discover

可能原因4:

composer require topthink/think-multi-app

这一样代码在cmd中运行位置错误,一般情况下很多都是在www目录下进行对应的代码,但开启多应用模式代码应该在项目目录下进行

phpstudy_pro\WWW\tp>composer require topthink/think-multi-app

,测试这句代码有没有运行成功,项目多应用模式有没有开启,可以在tp目录下运行

php think build common

,如果出现错误

Command "build" is not defined.

则说明未成功开启多应用,需要在tp目录下重新运行开启多应用的代码即可。


如何解决php控制器找不到报错的问题