零基础学后端-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.pswp.cn/news/915768.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915768.shtml

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

相关文章

C++ primer知识点总结

《C Primer》系统学习指南:从C到C的平滑过渡根据你提供的《C Primer》目录和你的需求(C语言背景转C,侧重网络编程),我将为你制定一个全面的学习计划,包含知识点详解、C/C对比、实战案例和分阶段项目练习。第…

异构融合 4A:重构高性能计算与复杂场景分析的安全与效率边界

当全球数据量以每两年翻一番的速度爆炸式增长,高性能计算(HPC)与复杂场景分析正成为破解气候预测、基因测序、金融风控等世界级难题的关键引擎。但异构计算环境的碎片化、多系统协同的复杂性、数据流动的安全风险,正在形成制约行业…

【华为机试】240. 搜索二维矩阵 II

文章目录240. 搜索二维矩阵 II描述示例 1示例 2提示解题思路核心分析问题转化算法实现方法1:右上角开始搜索(推荐)方法2:逐行二分查找方法3:分治法方法4:左下角开始搜索复杂度分析核心要点数学证明右上角搜…

疯狂星期四文案网第16天运营日记

网站运营第16天,点击观站: 疯狂星期四 crazy-thursday.com 全网最全的疯狂星期四文案网站 运营报告 昨日访问量 昨日30多ip, 今天也差不多,同步上周下降了一些,感觉明天疯狂星期四要少很多了,记得上周四700多ip&…

Linux系统基础入门与配置指南

Linux基本概述与配置 一、我们为什么使用Linux(Linux的优点)开源与自由 免费: 无需支付许可费用,任何人都可以自由下载、安装和使用。源代码开放: 任何人都可以查看、修改和分发源代码。这带来了极高的透明度、安全性和…

如何删除VSCode Marketplace中的publisher

网页上并没有提供删除的按钮,需要通过命令的形式删除。 vsce delete-publisher [要删除的名字]# 键入token # y 确认这里的token是之前在Azure DevOps中创建的token,忘了的话可以重建一个 刷新网页看一下 成功删除了。

Windows安装git教程(图文版)

Git 是一个分布式版本控制系统,用于跟踪文件的变化,特别是在软件开发中。它使得多个开发者可以在不同的机器上并行工作,然后将他们的改动合并在一起。是在开发过程中,经常会用到的一个工具。本章教程,主要介绍Windows上…

Remote Framebuffer Protocol (RFB) 详解

RFC 6143 规范文档:The Remote Framebuffer Protocol 文章目录1. 引言2. 初始连接流程2.1 TCP连接建立2.2 协议版本协商2.3 安全握手3. 显示协议机制3.1 核心概念3.2 像素格式4. 输入协议4.1 键盘事件(KeyEvent)4.2 鼠标事件(PointerEvent)5. 协议消息详解5.1 握手消…

从 DeepSeek-V3 到 Kimi K2:八种现代大语言模型架构设计

编译:青稞社区Kimi 原文:https://magazine.sebastianraschka.com/p/the-big-llm-architecture-comparison 首发:https://mp.weixin.qq.com/s/lSM2jk1UxJVz1WllWYQ4aQ 自原始 GPT 架构开发以来已经过去了七年。乍一看,从 2019 年的…

linux驱动开发笔记--GPIO驱动开发

目录 前言 一、设备树配置 二、驱动编写 三、用户空间测试 总结 前言 开发平台:全志A133,开发环境:linux4.9andrio10,开发板:HelperBoard A133_V2.5。 一、设备树配置 打开板级设备树配置文件,路径&a…

腾讯iOA:企业软件合规与安全的免费守护者

人们眼中的天才之所以卓越非凡,并非天资超人一等而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。———— 马尔科姆格拉德威尔 目录 一、为什么要使用腾讯iOA? 二、中小企业软件合规痛点 三、腾讯iOA解决方案 3.1 核心技…

C#定时任务实战指南:从基础Timer到Hangfire高级应用

高效管理后台作业,让定时任务成为应用的可靠引擎 在C#应用开发中,定时任务是实现数据同步、报表生成、系统维护等后台作业的核心技术。本文将深入探讨C#生态中主流的定时任务解决方案,从基础的内置Timer到强大的Quartz.NET和Hangfire框架&…

软件开发、项目开发基本步骤

• 立项阶段:项目定义、需求收集与分析、可行性分析、风险评估与规划、项目团队组建、制定项目计划、获取批准与支持。• 需求评审与分析:◦ 项目团队(包括产品经理、开发人员、测试人员等)共同参与,明确项目的目标、功…

慢 SQL接口性能优化实战

在对某电商项目进行接口性能压测时,发现 /product/search 接口响应缓慢,存在明显性能瓶颈。通过慢查询日志排查和 SQL 优化,最终实现了接口响应速度的显著提升。本文完整还原此次优化过程,特别强调操作步骤和问题分析过程&#xf…

【C#】在WinForms中实现控件跨TabPage共享的优雅方案

文章目录一、问题背景二、基本实现方案1. 通过修改Parent属性实现控件移动三、进阶优化方案1. 创建控件共享管理类2. 使用用户控件封装共享内容四、方案对比与选择建议五、最佳实践建议六、完整示例代码一、问题背景 在Windows窗体应用程序开发中,我们经常遇到需要…

Android Camera openCamera

由头 今日调休,终于终于闲下来了,可以写一下博客了,刚好打开自己电脑,就有四年前下的谷歌Android 12源码,不是很旧,刚好够用,不用再另外下载新源码了,不得不感慨这时间过得真快啊~废…

神经网络——池化层

目录 池化层 最大池化层 MaxPool2d 最大池化操作图示 最大池化操作代码演示 综合代码案例 池化层 池化层(Pooling Layer) 核心作用:通过降采样减少特征图尺寸,降低计算量,增强特征鲁棒性。 1. 常见类型 …

Android 默认图库播放视频没有自动循环功能,如何添加2

Android 默认图库播放视频没有自动循环功能, 如何添加 按如下方式修改可以添加 开发云 - 一站式云服务平台 --- a/packages/apps/Gallery2/src/com/android/gallery3d/app/MovieActivity.java +++ b/packages/apps/Gallery2/src/com/android/gallery3d/app/MovieActivity.java…

数字孪生赋能智慧能源电力传输管理新模式

在“双碳”战略和能源数字化转型的双重驱动下,智慧能源系统亟需更高效、精细和智能的管理手段。数字孪生技术作为融合物理世界与数字空间的桥梁,为电力传输系统的全生命周期管理提供了强有力的技术支撑。本文聚焦数字孪生在智慧能源电力传输中的应用&…

Jmeter的元件使用介绍:(二)线程组详解

Jmeter线程组默认包含三种:线程组、setUp线程组、tearDown线程组。线程组之间的执行顺序为:setUp线程组->线程组->tearDown线程组。多数情况都是选用线程组,setUp线程组用于做一些脚本的前置准备,比如:跨线程组设…