清晰易懂的 PHP 安装与配置教程

初学者也能看懂的 PHP 安装与配置教程

本教程将手把手教你如何在 Windows 系统上安装 PHP,并配置 Composer(PHP 的依赖管理工具)的缓存位置,即使你是零基础小白,也能轻松完成!


一、准备工作

  1. 操作系统:Windows 10/11。
  2. 下载工具:浏览器(推荐 Chrome 或 Edge)。
  3. 存储空间:至少预留 200MB 可用空间。

二、安装 PHP

1. 下载 PHP

  1. 访问 PHP 官网下载页面:https://windows.php.net/download
  2. 选择适合你系统的版本:
    • 推荐下载 Non Thread Safe (NTS) 版本(如 php-8.2.10-nts-Win32-vs16-x64.zip)。
    • 如果你的系统是 32 位,选择 x86 版本。

2. 解压 PHP

  1. 将下载的 ZIP 文件解压到一个目录(如 D:\PHP)。
  2. 解压后,你会看到以下文件:
    • php.exe:PHP 解释器。
    • php.ini-development:PHP 配置文件模板。

3. 配置 PHP

  1. php.ini-development 文件重命名为 php.ini
  2. 打开 php.ini,找到以下配置项并修改:
    • 启用扩展(去掉前面的分号 ;):
      extension_dir = "ext"
      extension=curl
      extension=gd
      extension=mbstring
      extension=mysqli
      extension=pdo_mysql
      extension=openssl
      
    • 设置时区:
      date.timezone = Asia/Shanghai
      

4. 配置环境变量

  1. 右键“此电脑” → 属性 → 高级系统设置 → 环境变量。
  2. 在“系统变量”中找到 Path,点击“编辑”。
  3. 点击“新建”,输入 PHP 的安装路径(如 D:\PHP)。
  4. 点击“确定”保存。

5. 验证安装

  1. 打开命令提示符(Win + R → 输入 cmd → 回车)。
  2. 输入以下命令:
    php -v
    # 输出示例:PHP 8.2.10 (cli) (built: Aug 29 2023 12:00:00)
    

三、安装 Composer(PHP 依赖管理工具)

1. 下载 Composer

  1. 访问 Composer 官网:https://getcomposer.org/download
  2. 下载 Windows 安装程序(Composer-Setup.exe)。

2. 安装 Composer

  1. 双击 Composer-Setup.exe,启动安装程序。
  2. 选择 PHP 路径(如 D:\PHP\php.exe)。
  3. 勾选“Add Composer to your PATH”,点击“Install”。
  4. 完成安装后,点击“Finish”。

3. 验证 Composer

  1. 打开命令提示符,输入以下命令:
    composer --version
    # 输出示例:Composer version 2.6.5 2023-10-06 10:11:52
    

四、配置 Composer 缓存位置

默认情况下,Composer 会将下载的依赖包缓存到 C:\Users\<你的用户名>\AppData\Local\Composer。如果你想将缓存位置改为其他目录,可以按照以下步骤操作:

1. 设置环境变量

  1. 右键“此电脑” → 属性 → 高级系统设置 → 环境变量。
  2. 在“系统变量”中点击“新建”,输入:
    • 变量名:COMPOSER_CACHE_DIR
    • 变量值:自定义路径(如 D:\ComposerCache)。
  3. 点击“确定”保存。

2. 验证缓存路径

  1. 打开命令提示符,输入以下命令:
    composer config --global cache-dir
    # 输出示例:D:\ComposerCache
    

五、编写并运行第一个 PHP 程序

  1. 创建文件 hello.php,输入以下代码:
    <?php
    echo "你好,世界!";
    ?>
    
  2. 运行程序:
    • 打开命令提示符,进入文件所在目录(如 cd D:\PHP)。
    • 输入以下命令:
      php hello.php
      # 输出:你好,世界!
      

六、常见问题

  1. php 命令无效
    • 检查是否将 PHP 安装路径添加到环境变量 Path 中。
  2. Composer 安装失败
    • 确保 PHP 已正确安装,并且 php.ini 中启用了 openssl 扩展。
  3. 缓存路径不生效
    • 确保环境变量 COMPOSER_CACHE_DIR 已正确设置,并重启命令提示符。

七、总结

通过本教程,你已成功完成以下操作:

  1. 安装 PHP 并验证环境。
  2. 安装 Composer 并配置缓存位置(解放 C 盘空间)。
  3. 编写并运行第一个 PHP 程序。

接下来可以学习:

  • 使用 Composer 安装第三方库(如 laravel/framework)。
  • 探索 PHP 基础语法和 Web 开发(如 Laravel 框架)。

遇到问题欢迎留言讨论,祝你早日成为 PHP 高手! 🐘🚀

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

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

相关文章

SpringBoot 第二课(Ⅰ) 整合springmvc(详解)

目录 一、SpringBoot对静态资源的映射规则 1. WebJars 资源访问 2. 静态资源访问 3. 欢迎页配置 二、SpringBoot整合springmvc 概述 Spring MVC组件的自动配置 中央转发器&#xff08;DispatcherServlet&#xff09; 控制器&#xff08;Controller&#xff09; 视图解…

八股学习-JUC java并发编程

本文仅供个人学习使用&#xff0c;参考资料&#xff1a;JMM&#xff08;Java 内存模型&#xff09;详解 | JavaGuide 线程基础概念 用户线程&#xff1a;由用户空间程序管理和调度的线程&#xff0c;运行在用户空间。 内核线程&#xff1a;由操作系统内核管理和调度的线程&…

C++基础 [八] - list的使用与模拟实现

目录 list的介绍 List的迭代器失效问题 List中sort的效率测试 list 容器的模拟实现思想 模块分析 作用分析 list_node类设计 list 的迭代器类设计 迭代器类--存在的意义 迭代器类--模拟实现 模板参数 和 成员变量 构造函数 * 运算符的重载 运算符的重载 -- 运…

VScode的debug

如果有命令行参数的话&#xff1a; 打开调试配置&#xff1a; 在 VS Code 中&#xff0c;按下Ctrl Shift D打开调试面板。点击面板顶部的齿轮图标&#xff0c;选择“添加配置…” (Add Configuration...)。 创建新的调试配置&#xff1a; 选择Python&#xff0c;然后选择…

工作记录 2017-02-08

工作记录 2017-02-08 序号 工作 相关人员 1 修改邮件上的问题。 更新RD服务器。 郝 更新的问题 1、CPT的录入页面做修改 1.1、Total 改为 Price 1.2、当删除行时&#xff0c;下面的行自动上移。 2、Pending Payments、Payment Posted、All A/R Accounts页面加了CoIns…

Java SE 面经

1、Java 语言有哪些特点 Java 语言的特点有&#xff1a; ①、面向对象。主要是&#xff1a;封装&#xff0c;继承&#xff0c;多态。 ②、平台无关性。一次编写&#xff0c;到处运行&#xff0c;因此采用 Java 语言编写的程序具有很好的可移植性。 ③、支持多线程。C 语言没…

springboot基于session实现登录

文章目录 1.理解session2.理解ThreadLocal2.1 理解多线程2.2 理解lambda表达式2.3 ThreadLocal 3.基于session登录流程图4.具体登录的代码实现4.1短信发送功能4.2 短信验证码登录注册功能4.登录校验功能4.1 配置登录拦截器LoginInterceptor4.1.1 ThrealLocal类实现 4.2登录拦截…

【ArduPilot】Windows下使用Optitrack通过MAVProxy连接无人机实现定位与导航

Windows下使用Optitrack通过MAVProxy连接无人机实现定位与导航 配置动捕系统无人机贴动捕球配置无人机参数使用MAVProxy连接Optitrack1、连接无人机3、设置跟踪刚体ID4、校正坐标系5、配置IP地址&#xff08;非Loopback模式&#xff09;6、启动动捕数据推流 结语 在GPS信号弱或…

MSys2统一开发环境,快速搭建windows opencv环境

文章目录 摘要下载msys2安装Mingw64安装Cmake安装opencv报错一报错二问题一 摘要 本篇基于之前发布的opencv两篇文章,进行的流程简化,旨在优化windows opencv环境和实例运行&#xff0c;Msys2统一开发环境&#xff0c;有利于长远的开发环境&#xff0c;也简化了后续集成的难度…

基于单片机的多功能热水器设计(论文+源码)

1系统方案设计 基于单片机的多功能热水器系统&#xff0c;其系统框图如图2.1所示。主要采用了DS18B20温度传感器&#xff0c;HC-SR04超声波模块&#xff0c;STC89C52单片机&#xff0c;液晶&#xff0c;继电器等来构成整个系统。硬件上主要通过温度传感器进行水温的检测&am…

详解Sympy:符号计算利器

Sympy是一个专注于符号数学计算的数学工具&#xff0c;使得用户可以轻松地进行复杂的符号运算&#xff0c;如求解方程、求导数、积分、级数展开、矩阵运算等。其中比较流行的深度学习框架pytorch的用到了Sympy,主要用于将模型的计算图转换为符号化表达式&#xff0c;以便进行分…

《Python实战进阶》No27: 日志管理:Logging 模块的最佳实践(上)

No27: 日志管理&#xff1a;Logging 模块的最佳实践(上) 摘要 日志记录是软件开发中不可或缺的一部分&#xff0c;尤其是在复杂的生产环境中。Python 的内置 logging 模块提供了强大的工具来管理和记录程序运行中的各种信息。本集将深入探讨 logging 模块的核心概念&#xff0…

每日Attention学习27——Patch-based Graph Reasoning

模块出处 [NC 25] [link] Graph-based context learning network for infrared small target detection 模块名称 Patch-based Graph Reasoning (PGR) 模块结构 模块特点 使用图结构更好的捕捉特征的全局上下文将图结构与特征切片(Patching)相结合&#xff0c;从而促进全局/…

ospf动态路由

一、为什么使用动态路由 OSPF&#xff08;open shortest path first开放最短路径优先&#xff09;是内部网关协议(IGP)的一种&#xff0c;基于链路状态算法(LS)。 OSPF企业级路由协议(RFC2328 OSPFv2)&#xff0c;核心重点协议 OSPF共三个版本&#xff0c;OSPFV1主要是实验室…

记一次服务器中木马导致cpu占用高的问题

最近准备搭建一个个人博客&#xff0c;发现才放了一个nginx和一个很简单的java后台cpu占用率就居高不下&#xff0c;然后用top命令查看果然有问题 其中这个networkservice 和sysupdate占用很高&#xff0c;原本还以为是系统相关的进程&#xff0c;但是想想如果是系统相关的进程…

基于LabVIEW的Windows平台高速闭环控制

在Windows系统下&#xff0c;通过LabVIEW实现高速闭环控制面临两大核心挑战&#xff1a;非实时操作系统的调度延迟与硬件接口的传输速度限制。以USB-6351&#xff08;NI USB-6351 DAQ卡&#xff09;为例&#xff0c;其理论采样率可达1.25 MS/s&#xff08;单通道&#xff09;&a…

深入理解 Linux ALSA 音频架构:从入门到驱动开发

文章目录 一、什么是 ALSA?二、ALSA 系统架构全景图核心组件详解:三、用户空间开发实战1. PCM 音频流操作流程2. 高级配置(asound.conf)四、内核驱动开发指南1. 驱动初始化模板2. DMA 缓冲区管理五、高级主题1. 插件系统原理2. 调试技巧3. 实时音频优化六、现代 ALSA 发展七…

【C语言】自定义类型:结构体

一、结构体类型的声明 我们前面学习操作符的时候已经接触过结构体了&#xff0c;下面我们回顾一下结构体的基本内容。 创建结构体的语法如上所示&#xff1a; struct是创建结构体的关键字&#xff0c;然后tag就是我们结构体的名称&#xff0c;member-list是结构体的成员列表&…

python基本运用:类的介绍和使用

一、介绍类 类(class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例 实例化&#xff1a;创建一个类的实例&#xff0c;类的具体对象。 对象&#xff1a;通过类定义的数据结构实例。对象包括两个数据成员&#x…

Elasticsearch:使用 ColPali 进行复杂文档搜索 - 第 1 部分 - 8.18

作者&#xff1a;来自 Elastic Peter Straer 及 Benjamin Trent 这篇文章介绍了 ColPali 模型&#xff0c;这是一种 late-interaction 模型&#xff0c;可简化包含图片和表格的复杂文档搜索过程&#xff0c;并讨论了其在 Elasticsearch 中的实现。 在构建搜索应用时&#xff0c…