当前位置: 首页 > news >正文

ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】

ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】

  • 一、安装多应用扩展
  • 二、删除项目的中默认的controller文件夹
  • 三、创建多应用
  • 四、修改config/app.php文件
  • 五、测试并且访问多应用
  • 六、配置小皮,不同域名访问不同的应用
  • 七、小结

一、安装多应用扩展

composer require topthink/think-multi-app

安装完成后,删除项目的中默认的controller文件夹

二、删除项目的中默认的controller文件夹

三、创建多应用

使用命令来快速床架多应用(在命令终端中输入下面的命令),这里我创建了两个应用,index和admin

php think build index
php think build admin

四、修改config/app.php文件

如果没有 auto_multi_app 这个配置项,则手动加入进去,并将其值设置为true.

在这里插入图片描述

五、测试并且访问多应用

在这里插入图片描述

访问路径 http://localhost:8000/index/index/hello,访问路径 localhost:8000/应用名称/控制器/控制方法

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在config\app.php中进行配置域名绑定。这里需要注意的是,不要出现含有大写文字的域名,有可能会导致访问不到。

在这里插入图片描述

通过域名来访问页面,默认域名直接匹配的就是index控制器的index方法

在这里插入图片描述

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

在这里插入图片描述

七、小结

ThinkPHP 配置多应用大致分为以下几步:

  1. 安装多应用扩展 composer require topthink/think-multi-app
  2. 删除项目的默认controller文件夹
  3. 通过命令来快速生成多应用 php think build 应用名
  4. 将config/app.php中进行配置,将auto_multi_app 设置为true
  5. 默认的多应用访问规则是 localhost:端口号/应用名称/控制器/控制方法
  6. 如果配置不同应用的不同域名的话,则通过config/app/php中的domain_bind配置项来进行配置
  7. 同时需要配置小皮的虚拟域名并与之对应。
  8. 不同域名访问不同应用的访问规则是 http://域名/index.php/控制器/方法名。

相关文章:

ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】

ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】 一、安装多应用扩展二、删除项目的中默认的controller文件夹三、创建多应用四、修改config/app.php文件五、测试并且访问多应用六、配置小皮,不同域名访问不同的应用七、小结 一、安装多应用扩…...

Springboot+Mybatis框架是否会取代SSM框架?

个人认真思考的观点:从市场使用来说,会有这个趋势。从技术上来说,不存在被替代这一说。 Spring BootMybatis框架是指使用Spring Boot作为基础框架,并集成Mybatis作为持久层框架的组合,它是一个基于Spring框架的快速开发…...

使用windeployqt和InstallShield打包发布Qt软件的流程

前言 Qt编译之后需要打包发布,并且发布给用户后需要增加一个安装软件,通过安装软件可以实现Qt软件的安装;用于安装软件的软件有很多,这里主要介绍InstallShield使用的流程; 使用windeployqt打包Qt编译后的程序 Qt程序…...

解决selenium的getdrive()方法阻塞问题

selenium里面的Webdriver的get()方法默认是阻塞的,也就是说要等整个页面全都加载完它才会相应。但我们大部分时候不需要用到页面里的所有东西,也许只需要用到里面的一个元素就行了 所以下面是我的解决方法: 初始化代码: # 设置…...

js的闭包

闭包是有权限访问其他函数作用域的局部变量的一个函数 代码 function outer(){const a1;function f(){console.log(a)}f()}outer() 简单来说:闭包内层函数引用的外层函数变量 为什么要使用闭包? 用此方法可以来统计函数调用次数, 但是如…...

ubuntu20.04 直接安装vpp23.06 测试双 VPP Tunnel Ike2

环境信息:VMware Workstation 17 Pro ubuntu20.04 (清华源) ubuntu 源点进去选:ubuntu-22.04.3-desktop-amd64.iso 如果之前装过VPP,用以下命令确定是否卸载干净: dpkg -l | grep vpp dpkg -l | grep DPDK 卸载: …...

mysql sql 执行流程

监控查询缓存的命中率 show status like ‘%qcache%’; mysql 缓存机制,以及 8.0 为啥取消 select sql_NO_Cache * from 表 where xxx; # 不使用缓存...

go-kafka

go kafka包 本文使用的是kafka-go 6.5k 这个包 其他包参考: 我们在细分市场中非常依赖GO和Kafka。不幸的是,在撰写本文时,Kafka的GO客户库的状态并不理想。可用选项是: 萨拉玛(Sarama) 10k,这…...

如何在windows电脑上安装多个node,并可以进行随意切换

一、进入官网http://nvm.uihtm.com/ 下载 二、启动解压后的程序 1.开始安装nvm 选择要安装的目录 一直下一步–下一步–最后点击完成 3.最后点击完成即可 ![在这里插入图片描述](https://img-blog.csdnimg.cn/3656568c7e9946e8a04219811fc4c4d3.png 三、在cmd控制台进行操作…...

《机器学习核心技术》分类算法 - 决策树

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 决策树 1、决策树API2、决策时实际应用2.1、获取数据集2.2、划分数据集2.3、决策…...

aws PinPoint发附件demo

php 版aws PinPoint发附件demo Laravel8框架,安装了"aws/aws-sdk-php": "^3.257" 主要代码: public function sendRawMail(Request $request) {$file $request->file(attachment);/*echo count($file);dd($file);*/$filenam…...

边写代码边学习之Bidirectional LSTM

1. 什么是Bidirectional LSTM 双向 LSTM (BiLSTM) 是一种主要用于自然语言处理的循环神经网络。 与标准 LSTM 不同,输入是双向流动的,并且它能够利用双方的信息。 它也是一个强大的工具,可以在序列的两个方向上对单词和短语之间的顺序依赖…...

Django学习笔记-实现联机对战

笔记内容转载自 AcWing 的 Django 框架课讲义,课程链接:AcWing Django 框架课。 CONTENTS 1. 统一长度单位2. 增加联机对战模式3. 配置Django Channels 1. 统一长度单位 多人模式中每个玩家所看到的地图相对来说应该是一样的,因此需要固定地…...

nacos总结1

5.Nacos注册中心 国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。 5.1.认识和安装Nacos Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富&#xff0c…...

Web安全测试(三):SQL注入漏洞

一、前言 结合内部资料,与安全渗透部门同事合力整理的安全测试相关资料教程,全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试,覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬! 全部…...

Webstorm 入门级玩转uni-app 项目-微信小程序+移动端项目方案

1. Webstorm uni-app语法插件 : Uniapp Support Uniapp Support - IntelliJ IDEs Plugin | Marketplace 第一个是不收费,第二个收费 我选择了第二个Uniapp Support ,有试用30天,安装重启webstorm之后,可以提高生产率…...

从零开始的Hadoop学习(三)| 集群分发脚本xsync

1. Hadoop目录结构 bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件lib目录:存放Hadoop的本地库(对…...

golang http transport源码分析

golang http transport源码分析 前言 Golang http库在日常开发中使用会很多。这里通过一个demo例子出发,从源码角度梳理golang http库底层的数据结构以及大致的调用流程 例子 package mainimport ("fmt""net/http""net/url""…...

spring boot 项目整合 websocket

1.业务背景 负责的项目有一个搜索功能,搜索的范围几乎是全表扫,且数据源类型贼多。目前对搜索的数据量量级未知,但肯定不会太少,不仅需要搜索还得点击下载文件。 关于搜索这块类型 众多,未了避免有个别极大数据源影响整…...

统计学补充概念-17-线性决策边界

概念 线性决策边界是一个用于分类问题的线性超平面,可以将不同类别的样本分开。在二维空间中,线性决策边界是一条直线,将两个不同类别的样本分隔开来。对于更高维的数据,决策边界可能是一个超平面。 线性决策边界的一般形式可以表…...

指针变量、指针常量与常量指针的区别

指针变量、指针常量与常量指针 一、指针变量 定义:指针变量是指存放地址的变量,其值是地址。 一般格式:基类型 指针变量名;(int p) 关键点: 1、int * 表示一种指针类型(此处指int 类型),p(变量…...

mq与mqtt的关系

文章目录 mqtt 与 mq的区别mqtt 与 mq的详细区别传统消息队列RocketMQ和微消息队列MQTT对比:MQ与RPC的区别 mqtt 与 mq的区别 mqtt:一种通信协议,规范 MQ:一种通信通道(方式),也叫消息队列 MQ…...

代码大全阅读随笔 (二)

软件设计 设计就是把需求分析和编码调试连在一起的活动。 设计不是在谁的头脑中直接跳出来了,他是不断的设计评估,非正式讨论,写实验代码以及修改实验代码中演化和完善。 作为软件开发人员,我们不应该试着在同一时间把整个程序都塞…...

vue 项目的屏幕自适应方案

方案一:使用 scale-box 组件 属性: width 宽度 默认 1920height 高度 默认 1080bgc 背景颜色 默认 "transparent"delay自适应缩放防抖延迟时间(ms) 默认 100 vue2版本:vue2大屏适配缩放组件(vu…...

23软件测试高频率面试题汇总

一、 你们的测试流程是怎么样的? 答:1.项目开始阶段,BA(需求分析师)从用户方收集需求并将需求转化为规格说明书,接 下来在项目组领导会组织需求评审。 2.需求评审通过后,BA 会组织项目经理…...

PHP8的匿名函数-PHP8知识详解

php 8引入了匿名函数(Anonymous Functions),它是一种创建短生命周期的函数,不需要命名,并且可以在其作用域内直接使用。以下是在PHP 8中使用匿名函数的知识要点: 1、创建匿名函数,语法格式如下&…...

Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)

一、Redis是什么 Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、…...

C语言链表梳理-2

链表头使用结构体&#xff1a;struct Class 链表中的每一项使用结构体&#xff1a;struct Student#include <stdio.h>struct Student {char * StudentName;int StudentAge;int StudentSex;struct Student * NextStudent; };struct Class {char *ClassName;struct Stude…...

【深度学习】实验03 特征处理

文章目录 特征处理标准化归一化正则化 特征处理 标准化 # 导入标准化库 from sklearn.preprocessing import StandardScalerfrom matplotlib import gridspec import numpy as np import matplotlib.pyplot as plt import warnings warnings.filterwarnings("ignore&quo…...

基于Dpabi的功能连接

1.预处理 这里预处理用Gretna软件进行&#xff0c;共分为以下几步&#xff1a; &#xff08;1&#xff09;DICOM转NIfTI格式 (2)去除前10个时间点(Remove first 10 times points)&#xff1a;由于机器刚启动、被试刚躺进去也还需适应环境&#xff0c;导致刚开始扫描的数据很…...

网上虚拟银行注册网站/营销活动有哪些

对于刚接触linux系统的学员来说&#xff0c;确实是一件比较困难的事情&#xff0c;造成这种局面主要原因之一是windows的设计考虑到用户的体验效果&#xff0c;提供了更好的用户操作效果。以至于用户接触的最多的系统&#xff0c;所以刚接触linux的时候会感觉很不适应&#xff…...

网站后台bootstrap/长春网站建设技术托管

2019独角兽企业重金招聘Python工程师标准>>> 1. 什么是ORM ORM的全称是Object Relational Mapping&#xff0c;即对象关系映射。它的实现思想就是将关系数据库中表的数据映射成为对象&#xff0c;以对象的形式展现&#xff0c;这样开发人员就可以把对数据库的操作转…...

wordpress去除相册样式/关键词搜索热度查询

Linux软RAID的实现方式前提软RAID说明软RAID实现mdadm配置示例软RAID测试和修复软RAID管理练习示例创建一个10G可用空间的RAID5。第1步&#xff1a;准备3块 5G 的硬盘。并对其进行分区创建&#xff0c;分区格式为 fd &#xff0c;大小 5G第2步&#xff1a;再增加一块空闲盘第3步…...

搜狗搜索网页版/厦门seo优化

1 引言 说到前端编译方案&#xff0c;也就是如何打包项目&#xff0c;如何编译组件&#xff0c;可选方案有很多&#xff0c;比如&#xff1a; 通过 webpack / parcel / gulp 构建项目。通过 parcel / gulp / babel 构建组件。如果你喜欢零配置的 parcel&#xff0c;那么项目和组…...

宝塔面板怎么做自己的网站/免费网页设计制作网站

再来看饮料厂在“原始时代”如何管理生产过程的吧。首先总经理须根据对需求的预测来安排生产计划&#xff0c;并根据物料和生产能力将此生产计划转为精确到时间、数量的详细的产品计划&#xff1b;在确定了生产计划之后&#xff0c;,就会把生产产品的数量转化为所需物料的数量&…...

四川建设网有限责任公司招聘/宁波网站seo诊断工具

说明&#xff1a;这里提供了简单的压测与高可用集群思路&#xff0c;因为时间问题&#xff0c;笔者并没有详细测试并搭建高可用集群。 rabbitMq压测方案 rabbitmq压测性能代码 public class Send2 {//消息队列名称private final static String QUEUE_NAME "helloword2…...