ThinkPHP6.0开启多应用模式需三步:安装think-multi-app扩展、配置app.php启用auto_multi_app并设default_app、重构app目录为app/应用名/结构;否则配置无效。

ThinkPHP6.0 默认是单应用模式,开启多应用模式需三步:安装扩展、修改配置、调整目录结构。不改这三项,即使配置了也无效。
安装 think-multi-app 扩展
在项目根目录(即包含 composer.json 的目录)执行命令:
- composer require topthink/think-multi-app
注意:不是在框架源码目录或 vendor 目录下运行,而是在你用 create-project 创建的实际项目目录中执行。安装成功后会自动执行 service:discover 和 vendor:publish,生成必要的基础结构。
启用多应用开关并设默认应用
编辑 config/app.php 文件,确保包含以下两项配置:
- 'auto_multi_app' => true —— 开启多应用模式
-
'default_app' => 'index' —— 指定默认访问的应用名(如未设置,默认为
index)
若该文件不存在,可从 vendor/topthink/think-multi-app/src/config/app.php 复制一份到项目 config/ 目录下再修改。
重构 app 目录结构
多应用模式要求每个应用独立成子目录,原始的 app/controller 等需移入具体应用下。例如:
- 新建 app/index/ 目录,把原 app/controller、app/model、app/view 全部移入其中
- 对应修改命名空间:原
app\controller\Index需改为app\index\controller\Index - 删除根级的 app/controller、app/model 等空目录(否则会引发类加载冲突)
此时访问 http://localhost:8000/index/index/index 才能正常响应;直接访问 / 会进入 default_app 对应的 index 应用首页。
可选:绑定域名或入口文件
若希望隐藏应用名(如用 admin.tp6.cy 直接访问 admin 应用),还需:
- 在 config/app.php 中配置
'domain_bind' => ['admin' => 'admin'] - 本地 hosts 添加
127.0.0.1 admin.tp6.cy - Web 服务器(如 Apache/Nginx)配置对应虚拟主机,指向项目 public 目录
也可为不同应用准备独立入口文件(如 public/admin.php),在其中调用 $http->name('admin')->run(),实现更彻底的隔离。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











