ThinkPHP 8开发环境安装

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客

《ThinkPHP 8高效构建Web应用 夏磊 编程与应用开发丛书 清华大学出版社》【摘要 书评 试读】- 京东图书

1. 安装PHP8

Windows系统用户可以前往https://windows.php.net/downloads/releases/archives/下载PHP 8.0版本,比如作者下载的文件名为php-8.0.29-Win32-vs16-x86.zip,在系统当前用户根目录下解压安装包,解压之后把PHP目录加入环境变量Path中。打开Windows终端管理员,查看一下PHP的版本号,命令如下:

PS C:\Users\xiayu> php --version
PHP 8.0.29 (cli) (built: Jun  7 2023 21:23:12) ( ZTS Visual C++ 2019 x86 )
Copyright (c) The PHP Group
Zend Engine v4.0.29, Copyright (c) Zend Technologies
PS C:\Users\xiayu>

ThinkPHP官方网站给出了ThinkPHP的安装方法,网址为https://doc.thinkphp.cn/v8_0/setup.html。本节将结合官方文档讲解相关安装步骤。

2. 安装composer

在Windows系统中安装composer,打开下载网址https://getcomposer.org/Composer-Setup.exe,选择需要下载的文件Composer-Setup.exe,下载完成后,在当前用户根目录下执行,之后会打开安装向导,读者可按照向导提示一步一步进行操作即可,最后将生成3个文件,结果如图1-5所示。

图1-5

现在将composer目录加入环境变量Path中,以方便在任何目录下执行composer.bat命令。

3. 安装稳定版ThinkPHP

如果读者是第一次安装,需要打开命令行窗口,切换到当前用户的根目录(比如,笔者的当前用户根目录为C:\Users\xiayu)下,并执行下面的命令:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composercomposer create-project topthink/think tp

上述命令中第1个命令把安装源修改为国内的阿里云源。第2个命令中的tp是当前目录下自定义的目录名,也是项目名。执行此命令,将下载ThinkPHP框架代码,局部截图如图1-6所示。最终在当前用户根目录下,成功下载ThinkPHP,如图1-7所示,读者可以到目录中查看具体信息。

图1-6

图1-7

4. 验证ThinkPHP能否正确运行

上一步搭建好了tp项目,需要记住这个项目名。接下来,验证ThinkPHP能否正确运行。进入命令行窗口,在tp项目目录下执行下面命令,运行Web服务器:

php think run

命令执行结果如图1-8所示。

图1-8

我们在浏览器中输入地址http://localhost:8000/,将会看到欢迎页面,如图1-9所示,说明ThinkPHP可以正确运行了。

图1-9

5. 运行一个简单的示例

例如下面计算两数之和的例子。

【示例2-1】

<?php
function sum($a, $b): int
{return $a + $b;
}echo sum(a: 1, b: 2);

将以上代码保存在任意目录中,比如笔者保存在C:\Users\xiayu\tp\public\2-1.php中,并在C:\Users\xiayu\tp目录中执行 php think run 启动Web服务器,输出代码如下:

[Wed Jul 10 09:45:53 2024] PHP 8.3.7 Development Server (http://localhost:8000) started

接下来打开浏览器访问http://localhost:8000/2-1.php,浏览器页面上显示结果如下:

3

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

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

相关文章

npm 切换镜像源

设置镜像源 npm config set registry https://mirrors.huaweicloud.com/repository/npm/ npm 官方原始镜像网址是&#xff1a;https://registry.npmjs.org/ 淘宝 NPM 镜像&#xff1a;https://registry.npm.taobao.org 阿里云 NPM 镜像&#xff1a;https://npm.aliyun.com 腾…

VUE前端实现防抖节流 Lodash

方法一&#xff1a;采用Lodash工具库 Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。 &#xff08;1&#xff09;采用终端导入Lodash库 $ npm i -g npm $ npm i --save lodash &#xff08;2&#xff09;应用 示例&#xff1a;搜索框输入防抖 在这个示例…

pikachu靶场搭建详细步骤

一、靶场下载 点我去下载 二、靶场安装 需要的环境&#xff1a; mysqlApaches&#xff08;直接使用小皮面板Phpstudy&#xff1a;https://www.xp.cn/&#xff09;&#xff0c;启动他们 设置网站&#xff0c;把靶场的路径对应过来 对应数据库的信息 由于没有核对数据库的信…

Excel for Finance 06 `STOCKHISTORY` 函数

Excel 中的 STOCKHISTORY 函数是一个强大的工具&#xff0c;专为获取股票或金融市场历史数据而设计。它允许用户从特定日期范围内提取股票的历史价格、交易量和其他相关数据&#xff0c;并将这些数据动态地插入工作表中进行分析。 语法&#xff1a; STOCKHISTORY(stock, start…

《机器学习》数据预处理简介

目录 1. 数据清洗&#xff08;Data Cleaning&#xff09; &#xff08;1&#xff09;处理缺失值 &#xff08;2&#xff09;处理异常值 &#xff08;3&#xff09;处理重复数据 2. 数据转换&#xff08;Data Transformation&#xff09; &#xff08;1&#xff09;特征缩…

每天40分玩转Django:Django表单集

Django表单集 一、知识要点概览表 类别知识点掌握程度要求基础概念FormSet、ModelFormSet深入理解内联表单集InlineFormSet、BaseInlineFormSet熟练应用表单集验证clean方法、验证规则熟练应用自定义配置extra、max_num、can_delete理解应用动态管理JavaScript动态添加/删除表…

LabVIEW中实现多个Subpanel独立调用同一个VI

在LabVIEW中&#xff0c;如果需要通过多个Subpanel同时调用同一个VI并让这些VI实例独立运行&#xff0c;可以通过以下方法实现&#xff1a; 1. 问题背景 LabVIEW默认的VI是以单实例方式运行的。当将同一个VI加载到多个Subpanel时&#xff0c;会因为共享同一内存空间而导致冲突…

语聊系统:JAVA语聊大厅语音聊天APP系统源码

JAVA语聊大厅语音聊天APP系统源码详解 在当今数字化时代&#xff0c;语音社交已成为连接人与人之间情感的重要桥梁。JAVA语聊大厅语音聊天APP系统源码&#xff0c;作为一款集成了多种先进技术与功能的社交软件&#xff0c;正以其独特魅力引领着语音社交的新潮流。该系统不仅提…

【学生管理系统】权限管理之用户管理

目录 6. 权限管理 6.1 环境搭建 6.1.1 数据库 6.1.2 后端环境 6.2 用户管理 6.2.1 查询所有用户&#xff08;关联角色&#xff09; 6.2.2 核心1&#xff1a;给用户授予角色 6. 权限管理 6.1 环境搭建 6.1.1 数据库 权限管理的5张表的关系 添加4张表 # 权限表&…

数据库设计问题记录

唯一性约束和逻辑删除的冲突 问题描述 如果一张表中&#xff0c;存在唯一性约束&#xff0c;比如一些数据中的code&#xff0c;且数据表使用逻辑删除。当删除某行数据的时候&#xff0c;以后再次插入相同code的数据&#xff0c;数据库会报错。 问题分析 在逻辑删除中&#…

Unity 和 OpenCV:结合计算机视觉和游戏开发

文章目录 前言一、Unity 中集成 OpenCV1. 安装OpenCV plus Unity 插件2. 导入 OpenCV 包 二、图像处理应用程序的创建1. 实时轮廓检测2. 粒子发射器3. 碰撞区域 三、效果四、总结 前言 Unity 和 OpenCV 是两个强大的开发工具&#xff0c;分别用于游戏开发和计算机视觉。结合它…

记一次内存泄漏分析(待写稿)

背景 线上Flink频繁重启&#xff0c;先后排查了很多情况&#xff0c;目前在内存阶段排查&#xff0c;首先说说学到的知识 内存泄漏分析 JVM常用命令 JConsole JVisualvm 快照的这里是最有用的&#xff0c;它和jmap不同&#xff0c;jmap查找的是占用字节最多的类&#xff…

SCAU高程进阶题(自用)

18711 字符串去重 Description 一个完全由小写字母组成的长度为n的字符串&#xff0c;现在要求你去除所有重复的字母&#xff0c;并将剩下的字母按从小到大的次序输出。 如输入baaadccaab&#xff0c;输出abcd。 输入格式 第一行一个整数n&#xff0c;表示字符串长度(0<n&…

JAVA学习笔记_MySQL进阶

文章目录 存储引擎InnoDB引擎MyISAM引擎Memory存储引擎的选择 索引索引数据结构Btree(多路平衡查找树)BTreeHash索引为什么InnoDQB存储引擎采用Btree索引结构 索引分类思考题 索引语法索引性能分析慢查询日志show profiesexplain 索引的使用规则最左前缀法则索引失效SQL提示覆盖…

Java爬虫获取速卖通(AliExpress)商品详情

1. 环境准备 在开始编写爬虫之前&#xff0c;需要准备以下环境和工具&#xff1a; Java开发环境&#xff1a;确保你的计算机上安装了Java开发工具包&#xff08;JDK&#xff09;。IDE&#xff1a;选择一个Java集成开发环境&#xff0c;如IntelliJ IDEA、Eclipse等。第三方库&…

剑指Offer|LCR 014. 字符串的排列

LCR 014. 字符串的排列 给定两个字符串 s1 和 s2&#xff0c;写一个函数来判断 s2 是否包含 s1 的某个变位词。 换句话说&#xff0c;第一个字符串的排列之一是第二个字符串的 子串 。 示例 1&#xff1a; 输入: s1 "ab" s2 "eidbaooo" 输出: True 解…

Java编程题_面向对象和常用API01_B级

Java编程题_面向对象和常用API01_B级 第1题 面向对象、异常、集合、IO 题干: 请编写程序&#xff0c;完成键盘录入学生信息&#xff0c;并计算总分将学生信息与总分一同写入文本文件 需求&#xff1a;键盘录入3个学生信息(姓名,语文成绩,数学成绩) 求出每个学生的总分 ,并…

用户界面的UML建模05

4 抽象表示层建模&#xff08;Abstract Presentation Modeling&#xff09; 在进行应用程序建模时&#xff0c;很自然地会需要对UI 表示层进行建模。甚至是对于非常简单的场景&#xff08;scenario&#xff09;而言&#xff0c;UI 表示层部分的建模都是必不可少的。在这个阶段…

2024.12.25在腾讯云服务器上使用docker部署flask

2024.12.25在腾讯云服务器上使用docker部署flask 操作系统&#xff1a;Ubuntu 根据腾讯云的说明文档安装 Docker 并配置镜像加速源&#xff0c;注意需要安装腾讯云的加速源&#xff0c;使用官网的加速源连接极其不稳定&#xff0c;容易导致运行失败。使用哪个公司的云服务器就…

存储块的删除与状态查询

目录 存储块的删除 设计实现 存储块的删除 仅需删除任务列表的所有任务&#xff0c;无需在意空闲存储块。 设计实现 存储块的删除&#xff08;清空过程中可能有任务就绪&#xff0c;需执行一次调度&#xff09;存储块的状态查询&#xff08;当前存储块的计数、允许的最大计数、…