下面由thinkphp教程栏目给大家介绍ThinkPHP6提示控制器不存在的解决方法,希望对需要的朋友有所帮助!

ThinkPHP 6 提示控制控制器不存在

thinkphp 6 默认是单应用模式,需要多应用时,就要安装多应用模式扩展think-multi-app。composer require topthink/think-multi-app

然后删除框架自带的app\controller目录,创建自己需要的应用目录.

例如:\app\index\controller\Index.php<?php

namespace app\index\controller;use app\BaseController;class Index extends BaseController

{ public function index()

{ return 'hello index';

}

}

访问这个方法:http://www.study_tp6.com/public/index.php/index/index/index

结果提示:控制器不存在 app\controller\index

查找原因:

1、按照官方文档安装了think-multi-app扩展,提示安装成功。

2、控制器的命名空间也没写错。

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

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

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

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

解决办法:

感谢 【ikgade】在官方的评论分享,试了试,解决了这个坑。

这是作者的思路和方案:为什么提示 “控制器不存在:app\controller\Admin”?

因为安装多应用模式扩展执行的指令没有生效 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中,或者修改以下文件的代码:

vendor/topthink/framework/src/think/console/command/ServiceDiscover.php

复制vendor/composer/installed.json中的services值到vender/services的数组中。

php显示控制器不存在,解决ThinkPHP6提示控制器不存在问题相关推荐

  1. 解决 drupal8 提示“ settings.php ”设置未配置 问题

    解决 drupal8 提示" settings.php 中的 trusted_host_patterns "设置未配置 问题 找到当前网站目录下的sites/default中的se ...

  2. 解决Vscode提示bodyparser已被弃用的问题

    解决Vscode提示bodyparser已被弃用的问题 被弃用真的就不能用了吗? 理论上来说,被弃用的用还是能用,但是out了,它有更好的方法可以使用 express已经把bodyParser合并进去 ...

  3. 解决pycharm 提示no tests were found的问题

    解决pycharm 提示no tests were found的问题 参考文章: (1)解决pycharm 提示no tests were found的问题 (2)https://www.cnblog ...

  4. 解决Apache提示“You don‘t have permission to access...“错误

    目录 解决Apache提示"You don't have permission to access..."错误 解决Apache提示"You don't have per ...

  5. 解决Tmux提示的size x*x from a smaller client窗口缩放问题

    文章目录 解决Tmux提示的size x*x from a smaller client窗口缩放问题 背景 操作 参考 解决Tmux提示的size x*x from a smaller client窗 ...

  6. 解决通用串行总线控制器里全是叹号问题

    解决通用串行总线控制器里全是叹号问题 假如你没装驱动,设备管理器里卸载,在扫描硬件更改, 自动安装,假如你是换驱动也不好 用,重启就不能用, win 键+R 进入运行,输入 regedit,打开系统注 ...

  7. win7设置计算机临时用户,解决win7提示“您已使用临时配置文件登陆”的方案

    使用win7的用户大多数都遇到过这样一个问题,在重新开启电脑的时候总是会被提示"您已使用临时配置文件登陆",对于一些电脑新手来说,这个故障已经超出解决的范围了.小编之前也有遇到这个 ...

  8. 计算机设置共享时出现无法保存,如何解决win7提示无法保存打印机设置(错误0x000006d9)...

    在我们日常的工作中,特别是对于办公室人员来说打印机想必是必不可少的设备了,在使用打印机的时候为了能够在同一局域网内资源共享我们就会设置一下打印机共享,让电脑都可以连接到打印机,可是最近有不少用户发现在 ...

  9. 解决jeb提示秘钥注册码过期

    解决jeb提示秘钥注册码过期 下载jeb_3_1_9_patch,将jeb_3_1_9_patch目录内 全部复制到jeb的文件夹jeb-pro-3.19.1.202005071620目录下, 替换覆 ...

  10. 怎么解决浏览器提示无法加载shockwave flash?

    最近,有用户向小编反映:其电脑在用浏览器观看视频时,弹出"无法加载shockwave flash"的提示,导致无法继续观看视频.那你们知道"shockwave flash ...

最新文章

  1. Directx11 教程(2) 基本的windows应用程序框架(2)
  2. PB控制性能TreeView
  3. ubuntu 编译安装php mysql_ubuntu编译安装php5 mysql nginx
  4. CSS学习18之小试牛刀
  5. VTK:结构化网格之SGrid
  6. 计算机专业指南作业6,计算机专业指南的学习心得体会
  7. Eclipse — 如何恢复Eclipse中被误删除的文件
  8. ASP.NET MVC实现网站验证码功能
  9. 系统自带的3D模型控件
  10. 项目接力:售前、售中、售后
  11. 尚学堂马士兵Oracle学习笔记之一:基本select语句
  12. 电脑字母,电脑英文字母大小写怎么转换
  13. Geek 极客大挑战2021 web
  14. 华为HCNA之WAN接入配置实验
  15. Windows中文键盘消失
  16. 全国计算机noi,中国计算机协会关于设立NOI基地的公告
  17. 服务器RPM打包详细教程
  18. 问题记录vips.h:133: undefined reference to `vips_reduce‘ collect2: error: ld returned 1 exit status
  19. randint用法 python_Python randint()用法及代碼示例
  20. mysql 整理磁盘空间_mysql 数据库磁盘满了,进行碎片化整理的相关问题

热门文章

  1. bitbucket配置_如何配置Bitbucket的ssh
  2. flutter快速入门,一周搞定前后端,上线完毕
  3. 正在开启,一名金融猎头的二十年 | 专访伯乐百万金融顾问 Leslie Xu
  4. 服务器系统2008怎么安装net,如何在win2008R2 上安装.Net 3.5 sp1
  5. 透过分布地图,看我中华大地!
  6. 笑话段子手微信小程序源码自带内容采集随时有新内容
  7. 小技巧 - 查询微信被谁投诉方法技巧
  8. OpenDDS的动态绑定bind_config传输配置和实例
  9. 每日新闻:国美与车势达成独家战略合作;腾讯Tsrc年度峰会破界召开;日本将允许高度自动驾驶车上路;“开源芯片”是芯片发展的新潮流...
  10. IBM推出企业信息安全框架