Windows 11 本地 php环境搭建:PHP + Apache + MySQL 安装和环境配置

news2024/12/23 10:06:32

在这里插入图片描述

目录

  • 前言
  • 1. PHP 的下载、安装和配置
    • 1.1 下载 php
    • 1.2 安装 php
    • 1.3 配置 php 系统变量
    • 1.4 配置 php.ini
  • 2. Apache 的下载、安装和配置
    • 2.1 下载 Apache
    • 2.2 安装 Apache
    • 2.3 修改配置 Apache
    • 2.4 指定服务端口(非必须)
    • 2.5 配置系统变量
    • 2.6 安装服务
    • 2.7 启动服务
  • 3. 整合 PHP、Apache
    • 3.1 配置 apache 支持 php
    • 3.2 修改网页文件格式
    • 3.3 修改Apache 默认的站点目录
    • 3.4 测试 php 网站
  • 4. 安装 php 依赖管理工具:Composer
    • 4.1 下载 Composer
    • 4.2 安装 Composer:方式一
    • 4.3 安装 Composer:方式二
    • 4.4 更改 Composer 镜像
  • 5. VsCode 配置
    • 5.1 安装 vs code 插件
    • 5.2 下载 Xdebug

前言


最近有空整理一下php 在windows上面的环境配置。原因是发现网上大多数php环境配置的相关帖子内容凌乱、有些是不能配置成功的。所以决定开个帖子把能够正确配置和启动的方法记录于此供参考。



1. PHP 的下载、安装和配置


1.1 下载 php

官方下载地址:https://windows.php.net/downloads/releases/

在这里插入图片描述
我这里没有下载最新版,而是 php-7.4.33-Win32-vc15-x64.zip



1.2 安装 php


将下载的 zip 压缩包解压到安装目录: E:\Software\PHProgram\PHP(我的位置)
在这里插入图片描述

1.3 配置 php 系统变量


将 PHP 的安装目录(如 E:\Software\PHProgram\PHP)添加到 系统变量Path 变量中:

在这里插入图片描述



1.4 配置 php.ini

将 PHP 目录下的php.ini-development,复制一份并重命名为 php.ini,作为PHP的配置文件。

在这里插入图片描述

编辑php.ini文件

  • 设置PHP扩展包的具体目录

    找到:

    ; On windows:
    ; extension_dir = “ext”
    

    修改为:

    ; On windows:
    extension_dir = “E:\Software\PHProgram\PHP\ext”
    

  • 开启相应的库功能

    搜索 “;extension= ”,定位并开启所需的库功能:

在这里插入图片描述

  • 设置时区

    找到

    ;date.timezone =
    

    修改为:

    date.timezone = Asia/Shanghai
    

  • 检查是否安装成功

    cmd 中输入检查版本的命令:

    php -v
    



2. Apache 的下载、安装和配置


2.1 下载 Apache

安装包官方下载地址:https://www.apachelounge.com/download/VS16/

在这里插入图片描述
下载的 ZIP 文件是:httpd-2.4.57-win64-VS16.zip

2.2 安装 Apache

将下载的zip 文件解压到 E:\Software\PHProgram\Apache-2.4.57\Apache24

2.3 修改配置 Apache

找到 Apache24\conf 目录下的 httpd.conf 文件,用记事本打开,并转到 Define SRVROOT “c:/Apache24”
修改为:

# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used.  If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
Define SRVROOT "E:\Software\PHProgram\Apache2.4.57\Apache24"
ServerRoot "${SRVROOT}"
#
# Mutex: Allows you to set the mutex mechanism and mutex file directory


2.4 指定服务端口(非必须)


定位到 Listen 80,改为其它端口

# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 8888

#
# Dynamic Shared Object (DSO) Support

Apache 默认端口为80,为避免端口冲突,可修改为其他端口。如使用默认80端口,则通过http://localhost 即可访问,如使用修改后的端口,则必须加端口号:如 http://localhost:8888



2.5 配置系统变量


在这里插入图片描述


在这里插入图片描述

2.6 安装服务

必须以 管理员身份 运行 cmd ,然后进入 Apache\bin 目录

C:\WINDOWS\system32> e:
E:\> cd Software\PHProgram\Apache-2.4.57\Apache24\bin
E:\Software\PHProgram\Apache-2.4.57\Apache24\bin> httpd -k install -n Apache2.4

移除服务的命令:cmd 中输入 sc delete Apache2.4 后回车


安装成功:

Installing the 'apache' service
The 'apache' service is successfully installed.
Testing httpd.conf....


2.7 启动服务

  • 方式一
    打开 Apache/bin 目录下的 ApacheMonitor.exe启动 Apache

  • 方式二
    服务 >> Apache 2.4 右键 启动

    在这里插入图片描述

测试是否安装成功:根据是否修改 Apache默认端口号,在浏览器中输入http://localhost(默认)或http://localhost:8888(自定义端口);





3. 整合 PHP、Apache


3.1 配置 apache 支持 php

1)打开 Apache24\conf 目录下的配置文件 httpd.conf,并定位到:

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

2)在下方添加:

LoadModule php7_module "E:/Software/PHProgram/PHP/php7apache2_4.dll"
PHPIniDir "E:/Software/PHProgram/PHP"
AddType application/x-httpd-php .php .html .htm

注:这里安装的是PHP7,假如是PHP8,则应相应地换成php8_modulephp8apache2_4.dll


3.2 修改网页文件格式

找到:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

4)改为:

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

3.3 修改Apache 默认的站点目录

1)在 E:\Software\PHProgram 下,新建 一个名为 www 的文件夹,做为网站根目录;

2)在 httpd.conf 中,找到如下代码:

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

修改为:

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "E:\Software\PHProgram\www"
<Directory "E:\Software\PHProgram\www>

此目录即为打开 http://localhost:8888 时的根目录,可在该目录创建index.php,用于默认访问的 php 文件。



3.4 测试 php 网站

www 目录下,新建文件index.php,写入以下内容:

<?php
	phpinfo();
?>

然后打开http://localhost:8888,如果显示PHP版本及配置信息,则表示配置成功!

在这里插入图片描述



4. 安装 php 依赖管理工具:Composer


ComposerPHP 开发必不可少的工具之一,可有效减少依赖包下载和管理的烦恼。

4.1 下载 Composer

官方下载地址:https://getcomposer.org/download/,

也可点击 这里 直接下载(不打开下载页)

在这里插入图片描述

4.2 安装 Composer:方式一

1)检查/修改配置文件

在 php 安装目录中找到 php.ini 文件,用记事本打后定位到

;extension=openssl

去掉前面的“;”(分号)

extension=openssl

2)双击运行 Composer-Setup.exe

程序会在每次执行时安装最新的 Composer 版本,后面一步步安装即可。

在这里插入图片描述
在这里插入图片描述

3)检查是否安装成功
然后等待安装完成,重新打开 命令行窗口,输入命令检查是否安装成功:

Microsoft Windows [版本 10.0.22621.1555]
(c) Microsoft Corporation。保留所有权利。

C:\Users\pro>composer --version
Composer version 2.5.5 2023-03-21 11:50:05

当然,也可以按照官方文档的方式进行安装,见方式二。

4.3 安装 Composer:方式二

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01 eae') { echo '安装程序验证'; } else { echo '安装程序损坏'; unlink('composer-setup. php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"


4.4 更改 Composer 镜像

因为国外网站访问比较慢,这里介绍安装Composer 镜像。

1)阿里云 Composer 镜像推荐

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 

2)腾讯云 Composer 镜像

composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ 

3)华为云 Composer 镜像

composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/

4)安畅云 Composer 镜像

composer config -g repo.packagist composer https://php.cnpkg.org/



5. VsCode 配置

VsCode 是用的比较多的开发 PHP 的工具,进行配置之后要比Jerbrian家的IDE要方便很多。

5.1 安装 vs code 插件

在vs code插件商店中,搜索并安装相关的组件:

  • Composer
  • PHP 语言支持
  • PHP Debug(后面需要做设置)
  • PHP Extendsion Pack
  • Php IntelliSense

注:Vs code 安装 debug 插件后,需要在 settings.json 中进行设置,即在最外层大括号下面,添加以下两个路径:

{
  // "settingsSync.ignoredExtensions": [
      
  // ],
 "php.validate.executablePath": "E:/Software/PHProgram/PHP/php.exe", 
 "php.debug.executablePath": "E:/Software/PHProgram/PHP/php.exe"
 }

5.2 下载 Xdebug

下载与当前 php 版本对应的 Xdebug 版本
打开 版本选择 网页:

1) cmd 中运行以下命令

php -i

2)运行后,复制cmd中得到的 phpinfo() 的完整输出信息:

phpinfo()
PHP Version => 7.4.33
$_SERVER['argv'] => Array
(
)
... ...

3)打开上面提供的这个 版本选择 链接,并粘贴到此网页中的多选文本框中,然后提交。

在这里插入图片描述

4)下载 Xdebug

提交后,获取到自己所需的版本信息,然后下载 xdebug.dll 文件

在这里插入图片描述

5)将下载的 php_xdebug-3.1.6-7.4-vc15-x86_64.dll 复制到 E:\Software\PHP_Program\PHP\ext扩展目录下

在这里插入图片描述

6)修改 E:\Software\PHProgram\PHP 目录下的 php.ini 配置文件

在php.ini文件末尾加上以下代码:

[xdebug]
zend_extension = "E:/Software/PHProgram/PHP/ext/php_xdebug-3.1.6-7.4-vc15-x86_64.dll"
​​xdebug.remote_enable = 1​​
​​xdebug.remote_autostart = 1​​
​​xdebug.remote_handler=dbgp​​
​​xdebug.remote_mode=req​​
​​xdebug.romote_host=localhost​​
​​xdebug.remote_port=9000

7)vs code 中 php debug 配置
~~ 待续

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

计算机网络闲谈01——QUIC协议

计算机网络闲谈01——QUIC协议 预备知识 重传机制 RTT 一个连接的往返时间 RTO 重传超时时间 RTT和RTO 的关系是&#xff1a;由于网络波动的不确定性&#xff0c;每个RTT都是动态变化的&#xff0c;所以RTO也应随着RTT动态变化。 流量控制 对发送方发送速率的控制 称之为…

【BIM+GIS】BIM模型导入GIS软件之前的一些处理设置

文章目录 一、模型位置发生偏移二、模型对象丢失或增加三、模型材质发生变化四、导出过程缓慢五、模型属性批量丢失一、模型位置发生偏移 在视图→可见性/图形替换模型类别→场地(VV可见性快捷),勾选项目基点。 单击选中项目基点,在属性中修改几点坐标。 即使修改了项目基…

界面控件DevExpress Blazor UI v22.2 - 支持.NET 7

DevExpress拥有.NET开发需要的所有平台控件&#xff0c;包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具&#xff0c;该组件拥有众多新产品和数十个具有高影响力的功能&#xff0c;可为桌面、Web和移动应…

# Java 并发编程的艺术(二)

Java 并发编程的艺术&#xff08;二&#xff09; 文章目录 Java 并发编程的艺术&#xff08;二&#xff09;并发编程的挑战上下文切换如何减少上下文的切换 死锁资源限制的挑战 Java 并发机制的底层实现原理volatile 的应用synchronized 的实现原理与应用三大特性实现原理 Java…

智慧冷链园区三维可视化,数字孪生助力大数据实时监控

近年来&#xff0c;业界学者及企业就智慧冷链物流展开深入研究&#xff0c;2010 年 IBM 发布的《智慧的未来供应链》研究报告中提出智慧供应链概念&#xff0c;并由此延伸出智慧物流概念&#xff0c;即智慧物流是以信息化为依托并广泛应用物联网、人工智能、大数据、云计算等技…

基于U-Net系列的医学图像分割

U-Net 在FCN 的基础上增加了上采样操作的次数和跳跃连接&#xff0c;使用跳跃连接将解码器的输出特征与编码器的语义特征融合&#xff0c;提高了分割精度&#xff0c;改善了 FCN 上采样不足的问题。 U-Net中没有全连接层&#xff0c;通过互连卷积与反卷积过程中的特征&#xff…

一文打通java泛型

目录 为什么要有泛型 生活场景 泛型的设计背景 泛型的概念 那么为什么要有泛型呢&#xff0c;直接Object不是也可以存储数据吗&#xff1f; 在集合中使用泛型 自定义泛型结构 注意点 自定义泛型结构&#xff1a;泛型类 自定义泛型结构&#xff1a;泛型方法 泛型在…

【微服务笔记23】使用Spring Cloud微服务组件从0到1搭建一个微服务工程

这篇文章&#xff0c;主要介绍如何使用Spring Cloud微服务组件从0到1搭建一个微服务工程。 目录 一、从0到1搭建微服务工程 1.1、基础环境说明 &#xff08;1&#xff09;使用组件 &#xff08;2&#xff09;微服务依赖 1.2、搭建注册中心 &#xff08;1&#xff09;引入…

网课/网校/知识付费/在线教育系统,100%全功能开源,可免费商用

一、开源项目简介 酷瓜云课堂&#xff0c;依托腾讯云基础服务架构&#xff0c;采用C扩展框架Phalcon开发&#xff0c;GPL-2.0开源协议&#xff0c;致力开源网课系统&#xff0c;开源网校系统&#xff0c;开源知识付费系统&#xff0c;开源在线教育系统。 酷瓜云课堂 - 网课系…

【LeetCode: 322. 零钱兑换 | 暴力递归=>记忆化搜索=>动态规划 | 背包模型】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

JavaScript 知识总结中篇(更新版)

72.get 请求传参长度的误区 常说&#xff1a;get 请求参数的大小存在限制&#xff0c;而 post 请求的参数大小无限制。 实际上 HTTP 协议并未规定 get / post 的请求参数大小限制。 纠正误区&#xff1a;是浏览器或 web 服务器对 get 请求参数的最大长度显示进行限制&#xf…

Nature Neuroscience:高家红团队首次发布中国人脑连接组计划研究成果及其大数据资源

人类生活在充满多样性的世界里。长久以来的研究发现&#xff0c;人类的脑与行为受到基因、环境和文化及其相互作用的塑造&#xff0c;然而这种影响发生的机制始终缺乏系统性探索与研究。近年来&#xff0c;前沿神经影像技术方法飞速进步&#xff0c;推动着多模态脑成像大数据集…

索尼ILCE-7SM3覆盖恢复案例

ILCE-7SM3算是索尼的流量级产品了&#xff0c;目前使用的比较多。今天我们来看一个格式化后又覆盖的恢复案例&#xff0c;看看这种情况下如何恢复残留的视频素材。 故障文件:80G SD卡 故障现象: 80G卡实际容量在74.5G左右&#xff0c;ExFat文件系统&#xff0c;格式化后又录…

Java8新特性-Stream

文章目录 简介Stream 的特性创建Stream通过集合创建流通过数组创建流通过Stream.of方法创建流创建规律的无限流创建无限流创建空流 Stream操作分类中间操作无状态filtermapflapMap 有状态distinctsortedreversedthenComparinglimitskipconcat 终结操作非短路操作forEachreducec…

D. Kilani and the Game(BFS模拟向四周漫延的过程)

Problem - D - Codeforces Kilani正在和他的朋友玩一个游戏。这个游戏可以表示为一个nm的网格&#xff0c;其中每个单元格都是空的或者被阻塞的&#xff0c;并且每个玩家在一些单元格中拥有一个或多个城堡&#xff08;一个单元格中没有两个城堡&#xff09;。 游戏分轮进行。每…

JS高级 -- 构造函数、数据常用函数

1. 深入对象 1.1 创建对象三种方式 利用对象字面量创建对象 const o {name:佩奇 }利用 new object 创建对象 const o new Object({ name:佩奇}) console.log(o) // {name: 佩奇}利用构造函数创建对象 1.2 构造函数 构造函数&#xff1a;是一种特殊的函数&#xff0c;主要…

SpringBoot+Vue3实现登录验证码功能

系列文章目录 Redis缓存穿透、击穿、雪崩问题及解决方法Spring Cache的使用–快速上手篇分页查询–Java项目实战篇全局异常处理–Java实战项目篇 Java实现发送邮件&#xff08;定时自动发送邮件&#xff09;_java邮件通知_心态还需努力呀的博客-CSDN博客 该系列文章持续更新…

最高效的七个云原生开发原则

​Cloud native是一种软件开发方法&#xff0c;利用云基础架构实现更快、更可扩展的部署。云原生应用程序旨在充分利用现代化的工程实践&#xff0c;如自动化、托管服务和自动扩展控制。 这种模式对组织文化和工作实践也有影响。云技术应成为软件交付的重要组成部分。每个人都…

迅为三星4412开发板UDP实现服务器和客户端

UDP 协议是开放式&#xff0c;无连接&#xff0c;不可靠的传输层通信协议&#xff0c;但它收发数据的速度相对于 TCP 快很多&#xff0c;常 用在传输音视频等数据量非常大的场合。 udp 网络编程只需要使用一个类 QUdpSocket。 本实验中对 QUdpSocket 的基本使用&#xff1a; …

选择DAO的组织结构时,应着重考虑的各个关键阶段与安全可靠性

近年来&#xff0c;去中心化自治组织 (Decentralized Autonomous Organizations&#xff0c;DAO)已成为了管理智能合约项目和社区的流行方式。简单而言&#xff0c;DAO是一个基于智能合约运作的数字化组织。组织内的成员可以根据对应的模型结构&#xff0c;做出不同的决策。虽然…