当前位置:   article > 正文

thinkphp8.0多应用模式下提示控制器不存在

thinkphp8.0多应用模式下提示控制器不存在

thinkphp 8.0 开启多应用模式
在这里插入图片描述
1、按照官方文档说明 ,已经安装了 think-multi-app
composer require topthink/think-multi-app
2、控制器的命名空间也没写错。

3、访问路径与目录名、控制器、方法名一样,访问地址是没错的。

4、网上有说,在配置文件config/app.php中,将 ‘auto_multi_app’ => flase, 改为true,

但我使用的版本是ThinkPHP 8.0,配置文件中并没有这个参数,试了试,加上也没用。

5、难道下载的框架有问题?重新下载框架,重新安装多应用扩展,结果还是不行。

【解决方法】
为什么提示 “控制器不存在:app\controller\Index”?
因为安装多应用模式扩展执行的指令没有生效 php think service:discover 自动注册扩展包的系统服务。
为什么自动注册拓展包服务失败,详见代码:
vendor/topthink/framework/src/think/console/command/ServiceDiscover.php
第34行代码$package[‘extra’][‘think’][‘services’]为空,导致生成自动注册服务文件
在这里插入图片描述

services.php 中没有注册的代码。
怎么解决呢?首先找到你加入的拓展,在这里:
vendor/composer/installed.json
在这里插入图片描述

然后把所有的$package[‘extra’][‘think’][‘services’]复制粘贴到services中
在这里插入图片描述
保存后,再次访问URL,已经正常了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/351367?site
推荐阅读
相关标签
  

闽ICP备14008679号