安装thinkphp6并使用多应用模式,解决提示路由不存在解决办法

news2024/11/19 5:37:39
1. 安装稳定版tp框架
composer create-project topthink/think tp

tp是安装完成的目录名称 ,可以根据自己需要修改。

如果你之前已经安装过,那么切换到你的应用根目录下面,然后执行下面的命令进行更新:

composer update topthink/framework
2. 开启调试模式

 应用默认是部署模式,在开发阶段,可以修改环境变量APP_DEBUG开启调试模式,上线部署后切换到部署模式。

本地开发的时候可以在应用根目录下面定义.env文件。

APP_DEBUG =true

[APP]
DEFAULT_TIMEZONE = Asia/Shanghai
 3. 运行测试

在浏览器中输入地址:

我本地使用的是PHPstudy,所以重新配置了访问域名:

http://www.tp6.com/

 

 4 .配置多应用模式

TP6默认的是单应用模式,需要自己开启多应用模式

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

 tp6目录的位置执行

composer require topthink/think-multi-app
6. 创建应用
php think build admin

我创建了三个

 

 7. 修改.htaccess文件
<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
 8. 在config/app.php中修改配置 :
// 是否启用路由
'with_route'       => true,

config/route修改配置

9.测试多应用路由  

admin模块下面 route文件  新建app.php文件

<?php

use think\facade\Route;

Route::get('/', 'Index/index');
Route::get('test', 'Index/test');

控制文件:admin->controller->Index.php

注意:不同应用下面,要加上应用名称 ,路由访问时 前面必须带上,否者路由报错  列如:admin

输入网址:http://www.tp6.com/admin/test

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1109714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML5+CSS3小实例:网页底部间隔波浪动画特效

实例:网页底部间隔波浪动画特效 技术栈:HTML+CSS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content…

算法第一关-黄金挑战

环形链表 描述 : 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 LeetCode 141.环形链表 : 141. 环形链表 牛客 BM6 判断链表中是否有 : 分析 : 用HashS…

接口测试实战讲解

本次实战&#xff0c;我是从网上找的接口测试项目&#xff0c;该项目提供了详细的接口文档&#xff0c;我们可以通过学习接口文档来设计测试用例&#xff0c;最后再使用Jmeter进行实战。总的来说&#xff0c;这个项目很适合用来练手&#xff0c;项目网址&#xff1a;https://ww…

Python接口自动化 —— Json 数据处理实战(详解)

简介 上一篇说了关于json数据处理&#xff0c;是为了断言方便&#xff0c;这篇就带各位小伙伴实战一下。首先捋一下思路&#xff0c;然后根据思路一步一步的去实现和实战&#xff0c;不要一开始就盲目的动手和无头苍蝇一样到处乱撞&#xff0c;撞得头破血流后而放弃了。不仅什么…

自学(黑客技术)——网络安全高效学习方法

前言 前几天发布了一篇 网络安全&#xff08;黑客&#xff09;自学 没想到收到了许多人的私信想要学习网安黑客技术&#xff01;却不知道从哪里开始学起&#xff01;怎么学&#xff1f;如何学&#xff1f; 今天给大家分享一下&#xff0c;很多人上来就说想学习黑客&#xff0c…

八股文学习四(kafka)

一. 消息中间件kafka (1)基本概念 (2) 生产者 生产者将消息发送到topic中去&#xff0c;同时负责选择将message发送到topic的哪一个partition中。通过round-robin做简单的负载均衡。也可以根据消息中的某一个关键字来进行区分。通常第二种方式使用的更多。 (3)消费者 消费模…

this指向输出题

&#x1f197;先简简单单来看一个小代码 var name "windowsName"console.log(this.name, 222)function fn() {var name Cherryconsole.log(this.name, 444);innerFunction()console.log(this.name, 333)function innerFunction() {console.log(this.name, 111)}}fn…

8年测试老鸟总结,APP自动化测试思路整理,跟着步骤快速撸码...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、开发语言选择 …

STM32 Debug查看const变量 在flash中存储地址

1.下面const数组&#xff0c;存储在flash中&#xff0c;通过map文件获取CH_value的数组首地址0x080014c8&#xff0c;或者debug中在函数中添加CH_value到Memory&#xff0c;获取数组在flash中存储的位置。

C++对象模型(17)-- 构造函数语义学:成员初始化列表

1、必须用初始化列表的场景 &#xff08;1&#xff09;成员变量是引用类型&#xff0c;必须在初始化列表中初始化。 &#xff08;2&#xff09;成员变量是const类型&#xff0c;必须在初始化列表中初始化。 &#xff08;3&#xff09;如果类继承自一个父类&#xff0c;并且父…

跨境商城源码部署(无货源模式,多语言,多货币)

在互联网发展的背景下&#xff0c;跨境电商成为了全球贸易的重要形式之一。跨境商城源码部署是指将跨境电商平台的源代码部署到服务器上&#xff0c;以便搭建一个完整的跨境商城网站。通过部署源码&#xff0c;可以实现无货源模式、多语言和多货币等功能&#xff0c;为用户提供…

Flutter的Constructors for public widgets should have a named ‘key‘ parameter警告

文章目录 问题描述问题原因修改方法详细解释 问题描述 Constructors for public widgets should have a named ‘key’ parameter. 如下图&#xff1a; 原本的代码 class MyTabPage extends StatefulWidget {override_MyTabPageState createState() > _MyTabPageState(…

多测师肖sir_高级金牌讲师___ui自动化之selenium001

一、认识selenium &#xff08;1&#xff09;selenium是什么&#xff1f; a、selenium是python中的一个第三方库 b、Selenium是一个应用于web应用程序的测试工具&#xff0c;支持多平台&#xff0c;多浏览器&#xff0c;多语言去实现ui自动化测试&#xff0c;我们现在讲的Sel…

软件工程与计算总结(二十)软件交付

软件交付是软件项目的结束阶段 &#xff0c;标志着软件开发任务的完成——其作为一个分水岭&#xff0c;区分了软件开发与软件维护两个既连续又不同的软件产品生存状态~ 在经历连续的辛苦工作之后&#xff0c;开发人员在胜利曙光之前难免会忽视软件交付阶段的一些工作——在准…

2022年亚太杯APMCM数学建模大赛C题全球变暖与否全过程文档及程序

2022年亚太杯APMCM数学建模大赛 C题 全球变暖与否 原题再现&#xff1a; 加拿大的49.6C创造了地球北纬50以上地区的气温新纪录&#xff0c;一周内数百人死于高温&#xff1b;美国加利福尼亚州死亡谷是54.4C&#xff0c;这是有史以来地球上记录的最高温度&#xff1b;科威特53…

Shiro安全框架登录验证实例解析

一、Shiro框架简单介绍 Apache Shiro是Java的一个安全框架&#xff0c;旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证&#xff0c;授权&#xff0c;企业会话管理和加密等。Shiro的具体功能点如下&#xff1a; &#xff08;1&#…

即刻报名,企业服务与新经济论坛亮点提前揭秘!

峰会官网已上线&#xff0c;最新议程请关注&#xff1a;doris-summit.org.cn 即刻报名 Doris Summit 是 Apache Doris 社区一年一度的技术盛会&#xff0c;由飞轮科技联合 Apache Doris 社区的众多开发者、企业用户和合作伙伴共同发起&#xff0c;专注于传播推广开源 OLAP 与实…

每日一题 1726. 同积元组(中等,计数)

直接统计数组中的数字两两组合可以得到的乘积求将相同乘积的组合再两两组合的数量最后由于abcd的值可以互换&#xff0c;每一个组合通过呼唤位置可以得到8种不同的组合&#xff0c;所以最后乘以8 class Solution:def tupleSameProduct(self, nums: List[int]) -> int:d de…

【财政金融】全国各地区财政收入与支出面板数据合集(2000-2022年)

数据简介&#xff1a;2000年到2022年中国经历了快速的经济发展和城市化进程&#xff0c;各地区的财政收入和支出也呈现出显著的增长和变化&#xff0c;全国各地区财政收入与支出的面板数据可用于评估经济发展水平和区域差距&#xff0c;通过比较不同地区之间的财政收入和支出水…

MySQL 从一个表中查出数据并插入到另一个表处理方案(详细)

PS&#xff1a;来源表&#xff1a;t_source、目标表&#xff1a;t_target 第一种 来源表和目标表字段完全一致 insert into t_target select * from t_source; 第二种 来源表和目标表字段部分一致&#xff0c;只想导入来源表部分字段到目标表 insert into t_target(字段1,字…