企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
## Thinkphp6安装 thinkphp6必须安装`composer`才能安装,命令: ~~~php composer create-project topthink/think demo ~~~ ## Thinkphp开启多应用 1. 刪除`app`目录下所有其他文件 2. 安装多应用模式扩展 ~~~php composer require topthink/think-multi-app ~~~ 3. 创建前台、后台及公共应用 ~~~undefined php think build index php think build admin php think build common ~~~ 需要注意的是,注意:如果没有安装`think-multi-app`, 使用`php think build` xx会报错:`Command "build" is not defined`. ThinkPHP 6 提示控制控制器不存在 thinkphp 6 默认是单应用模式,需要多应用时,就要安装多应用模式扩展think-multi-app。 查找原因: 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的数组中。