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

零基础学后端-PHP语言(第一期-PHP环境配置)

从本期开始,我们学习PHP,但是我们要先配置PHP环境

PHP官网链接:PHP For Windows: Binaries and sources Releases

我们可以看到有以下资源

可以看到有很多php的版本,有Non Thread Safe和Thread Safe,还有zip,Debug Pack,Development Package等,我们下载哪一个呢

我们先来了解一下

线程安全版(Thread Safe)

定义:在多线程环境中,通过锁机制(如互斥锁)保护共享资源,确保线程安全 

适用场景:适用于多线程 Web 服务器(如 Apache 的 worker 或 event MPM、Windows 的 IIS 多线程模式) 。

性能:由于需要锁机制,性能开销较大(相比 NTS 版本,性能可能低 20%-30%) 。

非线程安全版(Non Thread Safe)

定义:不处理线程间资源共享问题,适用于单线程环境 。

适用场景:适用于单线程 Web 服务器(如 Apache 的 prefork MPM)、FastCGI 模式(如 PHP-FPM)或命令行脚本 。

性能:无锁机制开销,性能更高(相比 TS 版本,性能可能高 10%-20%) 

Zip

内容:这是 PHP 主程序的标准压缩包(可能是线程安全或非线程安全版,取决于你下载的版本)。

用途:解压后可直接运行 PHP(含 php.exephp.ini 等核心文件)。

注意:这是运行 PHP 必需的文件,另外两个包不能替代它

Debug Pack

内容:包含 调试符号文件(PDB) 和 调试扩展(如 php_xdebug.dll

用途

用于调试 PHP 核心崩溃(如使用 WinDbg 或 Visual Studio 分析 php.exe 崩溃时的调用栈)。

包含 xdebug 等调试扩展,方便开发时跟踪变量、性能分析。

适用人群:开发者或需要排查 PHP 本身 Bug 的高级用户。

注意普通运行不需要,但开发环境建议安装。

Development Package

内容:包含 开发 PHP 扩展的头文件(.h)和工具链(如 phpizephp-config)。

用途

用于编译自定义 PHP 扩展(如用 C 语言编写 .dll 扩展)。

提供 config.w32 模板(Windows 下编译扩展的配置文件)。

适用人群:需要开发或修改 PHP 扩展的程序员。

注意运行 PHP 不需要,仅开发扩展时有用。

但是这些我们暂时不管,因为php的语法只和版本有关系,也就是说只要 PHP 版本一致(比如都是 PHP 8.4),语法就100%相同,所以自己随便选就行了(如果有团队要求按具体情况来,下面我们用线程安全版的ZIP为例子)

下载完以后,然后解压(这个应该都会,因为是zip文件直接双击进去然后托在桌面上就行)

环境配置

接下来配置环境(我的电脑是windows10,可能会和你们的不一样)

打开"设置">"系统">"系统信息">"高级系统设置"

(拓展一下用户变量和系统变量的区别:用户变量是针对特定用户定义的,只在该用户的会话或程序中有效;系统变量是全局性的,对整个系统或所有用户都有效。)

因为我电脑的语句比较多,担心污染环境就在用户变量里面改了

选中"path"后直接"编辑",然后点"新建"把php文件路径加进去就行

(我以前配的,所以和你们看见的版本应该不一样)

至此,配置完成

http://www.lryc.cn/news/592973.html

相关文章:

  • Libevent(3)之使用教程(2)创建事件
  • Kafka——Java生产者是如何管理TCP连接的?
  • Python day18
  • lvs原理及实战部署
  • HOT100——动态规划篇Leetcode221. 最大正方形
  • 【RK3576】【Android14】调试方法
  • “外卖大战”正在改变国内“大零售”
  • 数组题解——合并两个有序数组【LeetCode】
  • 【RK3576】【Android14】分区划分
  • windows内核研究(驱动开发-0环与3环的通信)
  • GLU 变种:ReGLU 、 GEGLU 、 SwiGLU
  • 商汤将发布日日新6.5大模型及具身智能平台该咋看?
  • Java大厂面试实录:从Spring Boot到AI微服务架构的深度解析
  • 数据查找 二叉查找树
  • 深入解析Linux文件描述符:原理、机制与应用实践
  • 语音大模型速览(三)- cosyvoice2
  • 简单使用MCP
  • 4644电源管理芯片在微波射频组件中的技术优势与国产化实践
  • 比亚迪古德伍德亮相:从技术突破到文化对话
  • JavaSE -- 数组详细讲解(数组介绍,Arrays常用方法,二维数组创建)
  • CMake指令:常见内置命令行工具( CMake -E )
  • MyBatis-Flex代码生成
  • Google Gemini CLI 配置简要指南
  • 数字化转型:概念性名词浅谈(第三十一讲)
  • 前端-CSS盒模型、浮动、定位、布局
  • 张力场中的领航者:驾驭二元对立的“情境智慧”模型
  • Vue3 从 0 到 ∞:Composition API 的底层哲学、渲染管线与生态演进全景
  • C++---cout、cerr、clog
  • 上网行为管理-web认证服务
  • JavaScript 的垃圾回收机制