thinkphp6配置多应用项目及多域名访问路由app配置

devtools/2024/11/19 20:03:01/

这里写一写TP6下配置多应用。TP6默认是单应用模式(单模块),而我们实际项目中往往是多应用的(多个模块),所以在利用TP6是就需要进行配置,开启多应用模式

1、安装ThinkPHP6 

1.1安装ThinkPHP6.0框架 

从6.0开始安装方式就改成了composer进行安装了,进入到WEB根目录,打开CMD,在命令终端中输入下面的命令,

composer create-project topthink/think tp921

单应用模式很简单,直接使用就可以了,我们现在需要的是多应用模式,多应用模式和单应用模式区别就在app目录结构,下面我们来一步一步实现。

1.2安装think-view扩展

新版框架默认只能支持PHP原生模板,如果需要使用think Template模板引擎,需要安装think-view扩展(扩展会自动安装think Template依赖库)

使用composer安装think-view扩展,进入到项目根目录,打开CMD,在命令终端中输入下面的命令

composer require topthink/think-view

如果不安装扩展,使用在控制器使用 “return view()” 时,会报错。

2、配置多应用模式

2.1安装多应用模式扩展think-multi-app

使用composer安装多应用模式扩展think-multi-app,进入到项目根目录,打开CMD,在命令终端中输入下面的命令

composer require topthink/think-multi-app

2.2删除app目录下的文件

安装完成后,删除项目的中app目录下的controller文件夹,TP是根据是否有这个文件夹来判断单应用模式还是多应用模式的,所以这个必须删除

2.3创建应用项目

删除完成之后使用命令来快速创建多应用(进入到项目根目录,打开CMD,在命令终端中输入下面的命令),这里我创建了两个应用,index和admin

php think build index
php think build admin
php think build api

2.4修改config/app.php文件

修改配置文件开启多应用模式,在config/app.php文件下增加以下内容(如果没有 auto_multi_app 这个配置项,则手动加入进去,并将其值设置为true.)

    // 开启自动多模式'auto_multi_app' => true,

至此多应用模式已经配置完毕了,这样一个简单的多应用开发模式就完成了

3、测试并且访问多应用

访问不同应用下的控制器的方法:http://域名/index.php/应用名称/控制器/方法名

直接访问域名 或 访问域名下index.php,这时访问为index应用

访问admin应用,需要指定admin.php入口文件 或者admin应用

>>>>>>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  1. 默认的多应用访问规则是 localhost:端口号/index.php/应用名称/控制器/控制方法


4、其他配置

 4.1配置默认应用

修改config/app.php,修改以下配置,没有的话就直接新添加【根据自己需求设置】

    // 是否启用路由'with_route'       => true,// 默认应用'default_app'      => 'api',// 默认时区'default_timezone' => 'Asia/Shanghai',

 4.2配置域名绑定

在config\app.php中进行配置域名绑定。这里需要注意的是,不要出现含有大写文字的域名,有可能会导致访问不到,通过域名来访问页面(不同域名访问不同的应用),默认域名直接匹配的就是index控制器的index方法

有人可能又有疑问了,现在都是用的二级域名比较多,

www.xxxxx.com/admin能不能简化为admin.xxxx.com

www.xxxxx.com/api能不能简化为api.xxxx.com

答案毋庸置疑,肯定是能的,这个时候就用到了域名绑定,可以是二级域名前缀,也可以是全域名。app_map这个没用,这个是应用的映射,跟这个二级域名没有关系。

4.3配置环境变量

在项目文件夹下有一个“.example.env”环境变量示例文件,这个文件是示例文件,不是正式使用的文件,所以如果需要修改环境变量的话,可以复制“.example.env”,命名为".evn"文件,修改里面配置 主要这几项

配置网站域名 并同步hosts

配置到项目public目录下

配置小皮,不同域名访问不同的应用

配置到项目public目录下

注意:保存public/.htaccess文件中的重写规则,小皮面板设置网站后容易给置空


http://www.ppmy.cn/devtools/135283.html

相关文章

React中 修改 html字符串 中某些元素的属性

在React中,你可以使html-react-parser库来解析HTML字符串,并修改其中的img标签的width属性后,再使用React的ReactDOMServer.renderToStaticMarkup方法将React元素转换为HTML字符串。 import htmlReactParser from html-react-parser; import…

IIoT(Industrial Internet of Things,工业物联网)

IIoT(Industrial Internet of Things,工业物联网) 是指物联网技术在工业领域的应用。它将工业设备、传感器、控制系统、数据采集设备等通过互联网或局域网连接起来,实现设备的互联互通和智能化管理。IIoT的目标是提高工业生产效率…

计算机组成原理笔记----基础篇

计算机系统硬件软件 软件 ├── 系统软件 │ ├── 操作系统 │ └── 工具软件 └── 应用软件├── 办公软件├── 媒体软件└── 浏览器软件硬件 ├── 计算机硬件 │ ├── 中央处理器(CPU) │ ├── 存储设备 │ │ ├── …

executed_gtid_set 与 purged_gtid_set

executed_gtid_set 和 purged_gtid_set 是 MySQL 复制中与 GTID(全局事务标识符)相关的两个重要概念: 定义: executed_gtid_set:已执行的 GTID 集合,包含所有在该服务器上执行过的事务的 GTID。purged_gtid_set&…

前端学习八股资料CSS(三)

更多详情:爱米的前端小笔记,更多前端内容,等你来看!这些都是利用下班时间整理的,整理不易,大家多多👍💛➕🤔哦!你们的支持才是我不断更新的动力!找…

【vmware+ubuntu16.04】ROS学习_博物馆仿真克隆ROS-Academy-for-Beginners软件包处理依赖报错问题

首先安装git 进入终端,输入sudo apt-get install git 安装后,创建一个工作空间名为tutorial_ws, 输入 mkdir tutorial_ws#创建工作空间 cd tutorial_ws#进入 mkdir src cd src git clone https://github.com/DroidAITech/ROS-Academy-for-Be…

C++ STL知识点100问

1问:STL有哪几类,对其进行简单描述 答:STL 主要由适配器 allocator,容器 container,算法 algorithm,迭代器 iterator 和仿函数 functor5大类构成。 适配器allocator:STL 提供了三个容器适配器:…

详细解析 devmem 命令:在 Linux 系统中直接访问内存的利器

目录 什么是 devmem?为什么需要 devmem?devmem 命令的基本语法devmem 在硬件调试中的应用安全性与风险devmem 的常见应用示例结论 在嵌入式系统开发和硬件调试中,开发者经常需要直接与硬件打交道,访问和修改内存中某些特定区域的内…