【ThinkPHP框架教程·Part-01】ThinkPHP6.x框架安装教程

文章目录

  • 一、框架介绍
    • 1、框架简介和版本选择
    • 2、主要新特性
  • 二、安装步骤
    • 1、下载并运行Composer-Setup.exe
    • 2、安装TP前切换镜像
    • 3、安装稳定版
    • 4、测试运行


一、框架介绍

1、框架简介和版本选择

Thinkphp是一种基于php的开源web应用程序开发框架ThinkPHP框架,是免费开源的、轻量级的、简单快速且敏捷的php框架。你可以免费使用TP框架,甚至可以将你的项目商用;
ThinkPHP8.0 是目前框架正式版的最新版本,本教程采用的是最常用且稳定的TP6.0版本。
ThinkPHP6.0 环境要求 PHP 版本是 7.2.5+以上,不支持5.1的无缝升级。

  • PHP >= 7.2.5

那该学习哪个版本?

  • 如果生产环境是5.6~7.0之间,推荐 TP5.1;
  • 如果是自己的 vps 服务器,可以安装较高的 PHP 版本 7.1+,推荐 TP6.x;

集成环境这里采用 windows 结合 wamp,其它系统或环境满足版本要求即可;
此处本人使用的是phpstudy来部署web服务:
image.png

2、主要新特性

  • 采用PHP7强类型(严格模式)
  • 支持更多的PSR规范
  • 多应用支持
  • ORM组件独立
  • 改进的中间件机制
  • 更强大和易用的查询
  • 全新的事件系统
  • 支持容器invoke回调
  • 模板引擎组件独立
  • 内部功能中间件化
  • SESSION机制改进
  • 缓存及日志支持多通道
  • 引入Filesystem组件
  • 对Swoole以及协程支持改进
  • 对IDE更加友好
  • 统一和精简大量用法

二、安装步骤

Composer是PHP的一个依赖管理工具,也可以用来安装ThinkPHP。在开始之前,需要在本地安装好Composer。
TP6.0版本开始,必须通过Composer方式进行安装和更新,所以你无法通过Git下载安装。

PHP官网:https://www.php.net/
ThinkPHP官网:https://www.thinkphp.cn/

1、下载并运行Composer-Setup.exe

如果还没有安装 Composer,在 Linux 和 Mac OS X 中可以运行如下命令:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

在 Windows 中,你需要下载并运行 Composer-Setup.exe。
image.png


image.png


image.png


image.png


image.png


image.png


image.png


image.png


查看composer是否安装
image.png


2、安装TP前切换镜像

由于众所周知的原因,国外的网站连接速度很慢。因此安装的时间可能会比较长,建议使用国内镜像。
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

阿里云:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
华为云:
composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/


3、安装稳定版

现在,先启用服务器环境,测试本地 Web 环境是否正常;
如果你是第一次安装的话,在命令行下面,切换到你的WEB根目录下面并执行下面的命令:

composer create-project topthink/think tp6

这里的tp目录名你可以任意更改,这个目录就是我们后面会经常提到的应用根目录。
image.png

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

composer update topthink/framework

更新操作会删除thinkphp目录重新下载安装新版本,但不会影响app目录,因此不要在核心框架目录添加任何应用代码和类库。
安装和更新命令所在的目录是不同的,更新必须在你的应用根目录下面执行

4、测试运行

在cmd 命令行的项目目录中,输入运行命令:

php think run

image.png


在浏览器输入:http://127.0.0.1:8000 或 http://localhost:8000
image.png
会看到欢迎页面。恭喜你,现在已经完成ThinkPHP6.0的安装!

如果 80 端口没有被占用的情况下,使用如下命令直接访问 http://localhost;
php think run -p 80

如此,ThinkPHP6.0 已经帮我们将域名自动部署到 public 里了。


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

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

相关文章

基于注解配置bean

文章目录 1.基本使用1.基本介绍2.快速入门1.引入jar包2.MyComponent.java3.UserAction.java3.UserDao.java4.UserService.java5.beans05.xml6.断点查看bean对象是否创建7.测试 3.注意事项和细节 2.自己实现spring注解1.需求分析2.思路分析图3.编写自定义注解ComponentScan4.编写…

【AI面试】工作和面试过程中,经常遇到的其他问题汇总(持续更新)

在与面试官在面对面进行交流的过程中,面试官不仅仅会针对简历中记录的内容进行深入的了解,还会进行一些发散性的提问。 目前也就很明显,就是要看看对方: 对于常见的问题是如何思考的?有没有在持续性的学习本领域的新知识?对于不知道的问题,是如何思考的?迁移能力咋样。…

Mybaties入门

文章目录 介绍持久层框架Jdbc缺点Mybaties简化整体框架ORM方式 Mybaties快速入门(Mapper代理)核心配置文件映射文件配置编写会话工具类 介绍 Mybaties是一款优秀的持久层框架,用于简化JDBC开发 持久层 负责将数据保存到数据库的那一层代码JavaEE三层架构&#x…

【双曲几何】圆盘上的三角形概念

目录 一、说明二、对偶三角形概念2.1 反演关系2.2 对偶关系2.3 找出三角形的对偶三角形 三、正交三角形概念3.1 通过对偶三角形,找到垂心3.2 正交三角形的概念3.3 中心射影点的概念 四、后记 一、说明 本文对双曲空间的三角形进行分析,本篇首先给出&am…

数据结构(data structure)(2)链表的运用

桶排序 e*len/(max1) e为每个元素&#xff0c;根据上式判断该元素放入哪个桶 桶排序适用于分布均匀的数组1.arr->length,max 2.Node[]-new Node[length] 3.扫描->hash->下标->元素入桶 4.出桶<>排序排序的输出private void sort(int[] arr){int lengtharr.le…

漆包线行业你了解多少?专业漆包线行业MES生产管理系统

今天就说说漆包线行业&#xff0c;漆包线是工业电机&#xff08;包括电动机和发电机&#xff09;、变压器、电工仪表、电力及电子元器件、电动工具、家用电器、汽车电器等用来绕制电磁线圈的主要材料。 漆包线上游是铜杆行业&#xff0c;下游是各种消费终端&#xff0c;主要是电…

Java基础知识总结(66)

** FileOutputStream练习 */ public class FileOutputStreamDemo { public static void main(String[] args) { String path "D:\\IoDemo\\test2.txt"; //如果文件不存在&#xff0c;则自动创建 //append:是指是否在原有内容后追加&#xff0c;默认为FALSE try(Outp…

Python代码实战——深入解析缓存问题:穿透、击穿、雪崩

作为Python开发者处理缓存相关问题,可以通过具体的场景和代码示例来更好地理解和解决缓存穿透、缓存击穿和缓存雪崩。 缓存穿透 场景:用户频繁请求数据库中不存在的数据,导致每次请求都绕过缓存直接查询数据库,增加数据库的压力。 解决方案: 设置空值缓存:当查询数据不…

代码优化实践之税率计算问题

开篇 今天的问题来自于《编程珠玑》第三章【数据决定程序结构】&#xff0c;这里提出了几条代码优化相关的原则&#xff0c;受益不浅。下面是提到的几条原则&#xff1a; 使用数组重新编写重复代码。冗长的相似代码往往可以使用最简单的数据结构——数组来更好的表述&#xff1…

C++入门之类和对象(中)

C入门之类和对象(中) 文章目录 C入门之类和对象(中)1. 类的6个默认对象2. 构造函数2.1 概念2.2 特性2.3 补丁 3. 析构函数3.1 概念3.2 特性3.3 总结 4. 拷贝构造函数4.1 概念4.2 特性4.3 总结 1. 类的6个默认对象 如果一个类中什么都没有&#xff0c;那么这个类就是一个空类。…

什么是代理IP?如何正确使用代理IP?

代理IP&#xff08;Proxy IP&#xff09;是一种网络技术&#xff0c;它允许用户通过一个中介服务器&#xff08;即代理服务器&#xff09;来访问互联网。具体来说&#xff0c;代理IP隐藏了用户的真实IP地址&#xff0c;使用第三方的IP地址进行网络访问。当用户发起网络请求时&a…

CAD小软件diy-读柴油机壳体装配图

读取一个柴油机壳体dxf图纸&#xff0c;一般这种装配体轮廓曲线都是用直线和圆弧拟合的&#xff0c;全部都是显示的白色实现&#xff0c;发现有线段间隙&#xff0c;拖动线段补上间隙。 这个测试放在蓝奏云上面 https://wwf.lanzout.com/ip1Xx1vvhbkh

tcp bbr pacing 的对与错

前面提到 pacing 替代 burst 是大势所趋&#xff0c;核心原因就是摩尔定律逐渐失效&#xff0c;主机带宽追平交换带宽&#xff0c;交换机不再能轻易吸收掉主机突发&#xff0c;且随着视频类流量激增&#xff0c;又不能以大 buffer 做带宽后备。因此&#xff0c;主机必须 pacing…

A-1:树状数组

A-1:树状数组 1.介绍Q1:树状数组解决什么问题&#xff1f;Q2:树状数组的使用1.前置知识&#xff1a;lowbit(x)2.单点修改3.求[1,n]的和4.区间查询5.hh Q3:树状数组是否优化了Q4:上图上例子解释上面说的东西(Important) 2.习题练习 1.介绍 树状数组是一个比较难以理解的高级数据…

什么存算分离?

存算分离&#xff08;Storage-Compute Separation 或 Storage-Compute Decoupling&#xff09;是一种数据架构设计理念&#xff0c;旨在将数据存储&#xff08;Storage&#xff09;和数据处理/计算&#xff08;Compute&#xff09;功能分离开来。这种设计允许存储资源和计算资源…

python笔记之高级特性

目录 一、is 与 二、深浅拷贝 三、生成器&#xff08;generator&#xff09; 1、列表推导式 2、列表生成器 3、函数生成器 四、迭代器 可迭代对象 五、闭包&#xff08;closure&#xff09; 六、装饰器 一、is 与 比较运算符。是用来比较两个值的大小的。&#xf…

C语言---单链表(二)

文章目录 前言1.准备工作2,打印链表、创建新的节点、销毁链表2.1.打印链表2.2.创建节点2.3.销毁链表 3.尾插、头插、尾删、头删3.1.尾插3.2.头插3.3.尾删3.4.头删 4.在特殊位置之前、之后插入、删除以及查找节点4.1.查找节点4.2.在指定位置之前插入4.3.在指定位置之后插入数组4…

赋值运算符

介绍 赋值运算符就是将某个运算后的值&#xff0c; 赋给指定的变量。 赋值运算符的分类 基本赋值运算符 例如&#xff1a; int a 10; 复合赋值运算符 &#xff0c; - &#xff0c; * &#xff0c; / &#xff0c; % 等 a b; [等价 a a b; ] a - b; [等价 a a - b; ] …

亚信安全入选中国数据安全市场图谱

近日&#xff0c;全球领先的IT市场研究和咨询公司IDC发布了《IDC Market Glance&#xff1a;中国数据安全市场图谱&#xff0c;2024》报告&#xff08;以下简称“报告”&#xff09;&#xff0c;报告展示了中国数据安全市场的构成和格局&#xff0c;遴选出不同细分市场领域的主…

C语言中的结构体:从定义到传递

前言 结构体是C语言中一种重要的数据类型&#xff0c;它允许我们将不同类型的数据组合成一个整体&#xff0c;并以自定义的方式进行操作。通过结构体&#xff0c;我们可以更加灵活地管理和处理复杂的数据结构&#xff0c;从而提高程序的可读性和可维护性。本篇博客将从结构体的…