Thinkphp6多应用模式控制器不存在报错解决方法

分类:PHP相关 时间:2023-03-28 22:43 浏览:0 评论:0
0

thinkphp6一直报找不到控制器。

控制器不存在:app\controller\Admin。

1604628706370298

根据网上搜索的办法,一一都试了,都不行,纠结很久后,终于发现是新环境的 Composers 版本升级到了2.0的,不是原来的1.8版本了。composer2.0 的composer/installed.json格式的变化导致ThinkPHP6.0扩展安装出错。

thinkphp6官方第一时间及时发布了兼容版本V6.0.5确保大家可以体验到Composer2的优势性能。

解决办法升级thinkphp6的版本,V6版本开始仅支持Composer安装及更新,支持上个版本的无缝更新,直接使用

composer update

问题解决。

如果你不是composer版本的问题的话,可以参考下面这些解决办法

解决办法一:

检查是否安装多应用模式扩展:think-multi-app

没有安装的话,执行以下命令安装

composer require topthink/think-multi-app

执行看下,现在能不能访问了

不能访问继续尝试

解决办法二:

tp6识别单应用的标识就是app目录下的controller目录,所以单应用切换成多应用模式的方法,就是删除app下的controller目录

一般情况下,这时候你访问多应用模块的url时,已经可以成功了,比如访问http://serverName/index.php/shop,可以正确定位到shop应用下的controller中的index方法。

还不能解决的话

解决办法三:

查看Nginx配置正确

location / {
        #访问路径的文件不存在则重写URL转交给ThinkPHP处理
        if (!-e $request_filename) {
           rewrite  ^/(.*)$  /index.php/$1  last;
           break;
        }
    }

还不行的话

解决办法四:

检查 config/app.php 里的,多应用模式是否打开

// 自动多应用模式
'auto_multi_app'   => true,
// 开启应用快速访问
'app_express'    =>    true,
// 默认应用
'default_app'      => 'home',

如果还不行的话

解决办法五:

检查控制器的命名空间是否正确

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. PHP相关 > Thinkphp6多应用模式控制器不存在报错解决方法

用户评论