文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-02 12:32

关注

在这里插入图片描述

目录


最近有空整理一下php 在windows上面的环境配置。原因是发现网上大多数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文件

在这里插入图片描述






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:80Listen 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\binE:\Software\PHProgram\Apache-2.4.57\Apache24\bin> httpd -k install -n Apache2.4

如果要移除服务:cmd 中输入 sc delete Apache2.4 后回车



2.7 Apache 环境开启 htaccess 伪静态(可选)

Apache 服务器上开启和通过.htaccess文件来配置伪静态

1)在 Apache 配置文件httpd.conf中启用Rewrite
打开httpd.conf,定位到代码:

#LoadModule rewrite_module modules/mod_rewrite.so

2)把前面#去掉。没有则添加,但必须独占一行,以使 apache 支持 mod_rewrite 模块。

LoadModule rewrite_module modules/mod_rewrite.so

3)继续在 httpd.conf 搜索定位 AllowOverride,并把后面的参数从None全部改成All

4)配置.htaccess 伪静态规则



2.8 启动服务

测试是否安装成功

在浏览器中输入HTTP://localhost:8888(此处8888是我选择的端口)验证服务是否成功搭建

在这里插入图片描述

或者查看系统服务:

在这里插入图片描述


安装成功!





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 修改网站默认首页

找到:

    DirectoryIndex index.html</IfModule>

4)改为:

    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""${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"

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



3.4 测试 php 网站

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

  phpinfo();?>

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

在这里插入图片描述




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 --versionComposer 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.phpphp -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/



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

5.1 安装 vs code 插件

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

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

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

5.2 下载和配置 Xdebug 库

Xdebug,是一个 PHP 插件,可用于单步调试 / 输出调试等,配合VS Code的插件,功能十分强大,可满足日常大多数环境需求。

插件功能包括:

一般前两个功能使用较多,小脚本使用第二个功能,网站类代码推荐监听调试。

准备下载与当前 php 版本、当前系统相对应的 Xdebug 版本

打开 版本选择 网页:

1) cmd 中运行以下命令

php -i

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

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

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

在这里插入图片描述

4)下载 Xdebug

提交后,网站会根据已提交的信息,自动为您推荐当前PHP版本、系统环境匹配的Xdebug库。然后就可下载该 xdebug.dll 库文件

在这里插入图片描述

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

在这里插入图片描述
并将文件php_xdebug-3.1.6-7.4-vc15-x86_64.dll 重命名为 php_xdebug.dll

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

php.ini文件末尾加上以下代码并保存:

[XDebug]zend_extension=php_xdebug.dllxdebug.output_dir="E:\Software\PHProgram\tmp\xdebug"; xdebug 监听地址(Xdebug3写法,2的名称为 remote_host)xdebug.client_host="127.0.0.1"xdebug.client_port=9003xdebug.remote_handler=dbgpxdebug.start_with_request = yesxdebug.idekey = Vscodexdebug.collect_return = Onxdebug.mode = debug; 本机调试,Xdebug3新增设置xdebug.discover_client_host = On

在这里插入图片描述

注:
1、修改 php.ini 文件后,必须重启Apache服务才能生效;
2、本文安装的 Xdebug 基于版本3x。如果是 2x,那么 php.ini 中的 [Xdebug] 的配置项不同,具体请看官网文档
Xdebug3Xdebug2 配置项变化较大(3的配置项在2的基础上有移除、改名或新增等),更多配置请参考官方文档(很多网上的配置都是错的)】


7)cmd 命令提示符下测试xdebug安装是否成功:



8)Vs codephpdebug 插件配置



5.3 调试运行 debug


1)选择运行和调试右边的下拉框,选择调试模式(如,选择 Listen for Xdebug),程序里打上断点;

2)按 F5 开始调试(也可按调试按钮);

3)打开浏览器访问 http://localhost:8888//test.php
此时页面尚不能正常加载(转圈)

4)继续按 F5 调试,直到程序跑完,就会看到页面加载好全部内容

在这里插入图片描述
php.ini中,xdebug.mode = debug 的使用场景为需要断点调试的时候。



但有时程序本身没问题,只是想看看性能和各个地方的耗时情况,则将 ’debug‘模式换成 trace (耗时)或 profile(性能) 模式。

如:




参见我的另一篇文章 MySQL在Windows 环境中的安装




7.1 xdebug.mode

此设置控制启用哪些Xdebug功能。
接受以下值:

说明
off没有启用任何功能。Xdebug 除了检查功能是否已启用外不起作用。如果您想要接近零的开销,请使用此设置。
develop启用包括重载的var_dump()在内的开发帮助。
coverage使Code Coverage Analysis能够生成代码覆盖率报告,主要是与PHPUnit结合使用 。
coverage使Code Coverage Analysis能够生成代码覆盖率报告,主要是与PHPUnit结合使用 。
debug启用步骤调试。这可用于在代码运行时逐步检查代码,并分析变量的值。
gcstats使垃圾收集统计信息能够收集有关PHP的垃圾收集机制的统计信息。
profile启用性能分析,您可以使用它通过KCacheGrind之类的工具分析性能瓶颈。
trace启用功能跟踪功能,该功能允许您记录每个函数调用,包括参数,变量赋值以及在对文件的请求期间进行的返回值。

以","(逗号)分隔 xdebug.mode 的值作为标识符来同时启用多个模式xdebug.mode=develop,trace
还可以通过XDEBUG_MODE在命令行上设置环境变量来设置模式,这样优先于xdebug.mode 设置。


7.2 start_with_request

CLI模式下,PHP脚本可以被轻松的调试,但是在fastcgi模式下,xdebug在何种情况拦截请求并触发调试呢,实际上一套WEB API 只有极少有性能瓶颈的API才需要被debug,每个接口都去记录profile是没必要的(此配置的意义)

说明
yes该功能在 PHP 请求启动时以及运行任何 PHP 代码之前启动。例如,xdebug.mode = tracexdebug.start_with_request = yes启动整个请求的功能跟踪。
no请求开始时,该功能未激活。你仍然可以调用函数xdebug_start_trace() 来启动 trace;调用xdebug_break()开始逐步调试;调用xdebug_start_gcstats()来做垃圾收集统计。
trigger1)仅当请求开始时存在特定触发条件时,才激活该功能。触发器的名称是(大写)XDEBUG_TRIGGER,而Xdebug会去检查一下变量中($_ENV$_GET$_POST$_COOKIE)是否有这个字段;
2)功能特定的触发器名称也有一个旧式的备用名称:(XDEBUG_PROFILE 对应于 Profiling),(XDEBUG_TRACE 对应于 Function Trace)和 (XDEBUG_SESSION 对应于 Step Debugging);
3)也可以通过进行步骤调试的调试会话管理XDEBUG_SESSION_START
4)使用xdebug.trigger_value可以控制哪个特定的触发器值将激活该触发器。如果xdebug.trigger_value设置为空字符串,则将接受任何值:
示例:http://localhost:8000/test.php?XDEBUG_TRIGGER
default该default值取决于xdebug.mode
debugtrigger
gcstatsno
profileyes
tracetrigger



在这里插入图片描述

在这里插入图片描述

来源地址:https://blog.csdn.net/zglibk/article/details/130395498

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯