【小白专用24.5.30已验证】Composer安装php框架thinkPHP6的安装教程

news2025/1/22 9:25:10

一、框架介绍


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


此处本人使用的是Apache24来部署web服务:【开启thinkPHP6安装前,请安装php,Apache24】

【小白专用24.5.26已验证】windows 11 安装PHP8.3 +Apache2.4_win11下如何安装win+apache+php环境-CSDN博客

二、安装步骤

2.1下载composer

Composer是一个PHP的依赖管理工具,可以用于管理项目中的PHP库和包的依赖关系。它可以帮助开发人员轻松地安装、更新和卸载项目所需的各种依赖库。Composer还可以自动解决依赖冲突问题,并且可以根据项目需要自动加载所需的库文件。使用Composer可以更好地组织和管理PHP项目的代码和依赖关系。

TP6.0版本开始,必须通过Composer方式进行安装和更新,所以你无法通过Git下载安装

下载网

Composer (getcomposer.org)

下载步骤如下

下载完成之后双击安装程序进行安装

查看composer是否安装

测试是否安装成功打开命令提示符按win+r键,然后输入cmd就可以打开,再输入composer,回车出现下面的提示就成功了

确定composer安装好:

2.2安装 ThinkPHP6

现在,先启用服务器环境,测试本地 Web 环境是否正常【本人使用的是Apache24来部署web服务】;


在php.ini文件中启用了相应的扩展。找到php.ini文件,然后找到这2行,确保前面没有分号(;)注释符号,不然安装过程会出现问题(在文章末尾已展示出来);

extension=fileinfo
extension=zip
extension=gd

1.如果你是第一次安装的话,在命令行下面,切换到你的WEB根目录下面

windows的cmd

当前目录切换到根目录
cd \

切换磁盘盘符
C:\>d:

【技巧】

2.切换到指定目录,执行下载Thinkphp6命令。然后等待下载完成就可以了,文件下载与网速相关,慢的需要等一会。(安装的路径可以提前换到自己需要安装的路径,后面最后的 tp6,这个名字可以根据自己的需要自己取,是新建个 tp6 目录,可改名,这个目录就是我们后面会经常提到的应用根目录

composer create-project topthink/think tp6
  • create-project: 是composer中的项目创建命令
  • topthink/think: ThinkPHP的组件包
  • tp6: 是当前的项目目录(如果没有创建, 该命令会自动创建的),执行过程的截图如下所示

7.cd到tp6,然后输入:php think run即可运行成功

查看当前安装的tp6版本
cd到tp6,然后输入:php think version即可运行成功

4. 浏览器访问测试是否部署成功

启动成功后,我们在浏览器中输入127.0.0.1:8081/tp6/public/查看即可,出现正常的thinkphp访问界面为成功!恭喜你,现在已经完成ThinkPHP6.0的安装!下图说明tp6部署成功,如此,ThinkPHP6.0 已经帮我们将域名自动部署到 public 里了。接下来就可以配置框架的文件了。

【本次使用的是Apache24来部署web服务,将网站访问目录改为tp6下面的public目录,就可以通过http://localhost:8081直接访问啦!】

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

如果想修改端口的话 使用命令php think run -p 端口号

三、安装成功后 目录结构

  • 6.0 版本目录结构的主要变化是核心框架纳入vendor目录,然后原来的application目录变成app目录。
  • 安装后的目录结构就是一个单应用模式

www  WEB部署目录(或者子目录)
├─app           应用目录
│  ├─controller      控制器目录
│  ├─model           模型目录
│  ├─view            视图目录
│  ├─ ...            更多类库目录
│  │
│  ├─BaseController.php    默认基础控制器类
│  ├─ExceptionHandle.php   应用异常定义文件
│  ├─common.php            全局公共函数文件
│  ├─middleware.php        全局中间件定义文件
│  ├─provider.php          服务提供定义文件
│  ├─Request.php           应用请求对象
│  └─event.php             全局事件定义文件

├─config                配置目录
│  ├─app.php            应用配置
│  ├─cache.php          缓存配置
│  ├─console.php        控制台配置
│  ├─cookie.php         Cookie配置
│  ├─database.php       数据库配置
│  ├─filesystem.php     文件磁盘配置
│  ├─lang.php           多语言配置
│  ├─log.php            日志配置
│  ├─middleware.php     中间件配置
│  ├─route.php          URL和路由配置
│  ├─session.php        Session配置
│  ├─trace.php          Trace配置
│  └─view.php           视图配置

├─view            视图目录
├─route                 路由定义目录
│  ├─route.php          路由定义文件
│  └─ ...

├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写

├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                Composer类库目录
├─.example.env          环境变量示例文件
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
└─think                 命令行入口文件
 

 ThinkPHP6 核心目录vendor目录

四、视图安装

视图功能由\think\View类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎(主要用于内置的异常页面输出),如果需要使用其它的模板引擎需要单独安装相应的模板引擎扩展。如果需要使用thinkTemplate模板引擎,需要安装think-view扩展(该扩展会自动安装think-template依赖库)

该扩展跟tp6安装多应用扩展一样,需要安装think-template(命令:composer require topthink/think-view),切记一定要在项目根目录进行安装

【小白专用 已验证24.5.31】ThinkPHP6 视图的安装及模板篇之传参和渲染-CSDN博客

五、模板渲染和变量赋值

在安装好think-view后,我们就可以使用控制器来将不同的请求转到不同的视图了,并且可以传递一些参数过去。比如在原有的index.php控制器中,修改对应的一些方法,然后返回不同的视图,(最常用的是 view::fetch() view::assign() )。

【小白专用 已验证24.5.31】ThinkPHP6 视图的安装及模板篇之传参和渲染-CSDN博客

安装和更新命令所在的目录是不同的,更新必须在你的应用根目录下面执行,更新Thinkphp6核心,必须先切换到 tp6 根目录

update topthink/framework

更新操作会删除thinkphp目录重新下载安装新版本,但不会影响app目录,因此不要在核心框架目录添加任何应用代码和类库

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

【小白专用24.5.26已验证】windows 11 安装PHP8.3 +Apache2.4_win11下如何安装win+apache+php环境-CSDN博客

【小白专用24.5.26 已验证】VSCode下载和安装与配置PHP开发环境(详细版)-CSDN博客

安装过程遇到问题

报错解释:

这个错误表明你在使用Composer(PHP的依赖管理工具)尝试安装ThinkPHP6框架时,下载topthink/think包失败了。原因是ZIP扩展没有启用。Composer在安装依赖时可以使用ZIP扩展来解压缩包,如果ZIP扩展没有启用,则无法解压缩下载的文件。

解决方法:
在Windows上,你需要确保在php.ini文件中启用了相应的扩展。
找到php.ini文件,然后找到extension=zip这一行,确保前面没有分号(;)注释符号。
修改完php.ini后,重启你的Web服务器,如Apache或Nginx,以使更改生效。
再次运行Composer安装命令,如composer create-project topthink/think your_project_name,以检查问题是否已解决。

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

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

相关文章

Spring 框架:Java 企业级开发的基石

文章目录 序言Spring 框架的核心概念Spring 框架的主要模块Spring Boot:简化 Spring 开发Spring Cloud:构建微服务架构实际案例分析结论 序言 Spring 框架自 2002 年发布以来,已经成为 Java 企业级开发的标准之一。它通过提供全面的基础设施…

家政预约小程序10公众号集成

目录 1 使用测试号3 工作流配置4 配置关注事件脚本5 注册开放平台6 获取公众号access_token6 实现关注业务逻辑总结 我们本次实战项目构建的相当于一个预约平台,既有家政企业,也有家政服务人员还有用户。不同的人员需要收到不同的消息,比如用…

11- Redis 中的 SDS 数据结构

字符串在 Redis 中是很常用的,键值对中的键是字符串类型,值有时也是字符串类型。 Redis 是用 C 语言实现的,但是它没有直接使用 C 语言的 char* 字符数组来实现字符串,而是自己封装了一个名为简单动态字符串(simple d…

基于强化学习的控制率参数自主寻优

1.介绍 针对控制建模与设计场景中控制参数难以确定的普遍问题,提出了一种基于强化学习的控制律参数自主优化解决方案。该方案以客户设计的控制律模型为基础,根据自定义的控制性能指标,自主搜索并确定最优的、可状态依赖的控制参数组合。 可…

ToDesk提示会话数通道限制 - 解决方案及兑惠码分享

如果您最近在体验ToDesk这款远程操控工具时,遇到了提示信息告知“高速通道服务已到期”或“会话数受限”,这表明您本月享受的免费额度——即120小时的使用时间和最多300次的连接机会——已经耗尽。为了解锁无限制的使用时长与连接次数,建议您…

自动驾驶中的长尾问题

自动驾驶中的长尾问题 定义 长尾问题(Long-Tail Problem)是指在数据分布中,大部分的数据集中在少数类别上,而剩下的大多数类别却只有少量的数据。这种数据分布不平衡的现象在许多实际应用中广泛存在,特别是在自动驾驶…

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试USB摄像头

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试USB摄像头 2024/5/31 20:04 USB摄像头分辨率:1080p(1920x1080) 默认编译Buildroot的SDK即可点亮USB摄像头。v4l2-ctl --list-devices v4l2-ctl --list-formats-ext -d /dev/video74 …

双指针法 ( 快乐数 )

「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么这个数就是快乐数 编写一个算法来判断一个…

linux /www/server/cron内log文件占用空间过大,/www/server/cron是什么内容,/www/server/cron是否可以删除

linux服务器长期使用宝塔自带计划任务,计划任务执行记录占用服务器空间过大,导致服务器根目录爆满,需要长期排查并删除 /www/server/cron 占用空间过大问题处理 /www/server/cron是什么内容?/www/server/cron是否可以删除&#xf…

基于VGG16使用图像特征进行迁移学习的时装推荐系统

前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对…

AutoMQ 自动化持续测试平台技术内幕

01 背景 AutoMQ[1] 作为一款流系统,被广泛应用在客户的核心链路中,对可靠性的要求非常的高。所以我们需要一套模拟真实生产场景、长期运行的测试环境,在注入各种故障场景的前提下验证 SLA 的可行性,为新版本的发布和客户的使用提…

c# - 运算符 << 不能应用于 long 和 long 类型的操作数

Compiler Error CS0019 c# - 运算符 << 不能应用于 long 和 long 类型的操作数 处理方法 特此记录 anlog 2024年5月30日

【论文精读】SAM

摘要 本文提出Segment Anything&#xff08;SA&#xff09;&#xff0c;一个可prompt的视觉分割模型&#xff0c;通过一个 能实现视觉特征强大泛化的任务在包含大量图像的数据集上对模型进行预 训练&#xff0c;旨在通过使用prompt工程解决新数据 分布上的一系列下游分割问题。…

深入了解diffusion model

diffusion model是如何运作的 会输入当时noise的严重程度&#xff0c;根据我们的输入来确定在第几个step&#xff0c;并做出不同的回应。 Denoise模组内部实际做的事情 产生一张图片和产生noise难度是不一样的&#xff0c;若denoise 模块产生一只带噪声的猫说明这个模块已经会…

【Python】 Python中的递增和递减操作符:简单易懂的指南

基本原理 在Python中&#xff0c;递增&#xff08;increment&#xff09;和递减&#xff08;decrement&#xff09;操作符是用于快速增加或减少变量值的快捷方式。这些操作符在很多编程语言中都有出现&#xff0c;它们提供了一种方便的方式来对变量进行自增&#xff08;&#…

【JavaEE进阶】——带你详细了解Spring日志以及配置日志

目录 &#x1f6a9;Spring日志的认识 &#x1f6a9;Spring日志的作用 &#x1f6a9;观察日志 &#x1f6a9;使用日志 &#x1f388;在程序中得到日志对象 &#x1f388;使⽤⽇志对象输出要打印的内容 &#x1f6a9;日志框架的介绍 &#x1f388;门面模式(外观模式&…

鸿蒙ArkTS声明式开发:跨平台支持列表【透明度设置】 通用属性

透明度设置 设置组件的透明度。 说明&#xff1a; 开发前请熟悉鸿蒙开发指导文档&#xff1a; gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版…

GIS Java 生成四至图

目录 前言 操作步骤&#xff1a; 1&#xff0c;求出多边形的四至点 2&#xff0c;下载地图 3&#xff0c;绘制多边形 前言 对于地图上的一个多边形地块&#xff0c;其四至图就是能够覆盖这个多边形的最小矩形&#xff0c;也就是求出这个多边形的最东点&#xff0c;最西点&…

如何从浅入深理解transformer?

前言 在人工智能的浩瀚海洋中&#xff0c;大模型目前无疑是其中一颗璀璨的明星。从简单的图像识别到复杂的自然语言处理&#xff0c;大模型在各个领域都取得了令人瞩目的成就。而在这其中&#xff0c;Transformer模型更是成为大模型技术的核心。 一、大模型的行业发展现状如…

AI实时免费在线图片工具3:人物换脸、图像编辑

1、FaceAdapter 人物换脸 https://huggingface.co/spaces/FaceAdapter/FaceAdapter 2、InstaDrag https://github.com/magic-research/InstaDrag