关闭
> php教程 > php >

thinkphp6多应用模式一直找不到控制器,一直走单应用的controller的解决办法

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

一直好好的thinkPHP6项目,因公司换了台配置高的电脑,搭建好环境后,thinkphp6就一直报找不到控制器。

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

 

根据网上搜索的办法,一一都试了,都不行,纠结很久后,终于发现是新环境的 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;
        }
    }

 

还不行的话

解决办法4:

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

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

 

如果还不行的话

解决办法5:

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

 

还不行

解决办法6:

拿块砖,往自己头上拍下~~  

 

 

 

阿里云618优惠卷大放送

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论