本教程操作环境: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视频教程》
以上就是如何解决php控制器找不到报错的问题的详细内容,更多请关注php中文网其它相关文章!