文章目录

前段时间项目中有写点PHP页面的需求,架设了一个PHP的运行环境,参见博文: Windows下使用Apache2.4架设PHP服务器。如何调试PHP,一直是一件麻烦事,以前还有研究过一下使用Zend Studio 5.5来调试,但是后面的版本是与Eclipse集成了,感觉不好用,也一直没再研究过,直到前段时间有用到PHP,才再思考如何调试PHP。

VSCode的出现像一匹黑马一样,击败其它编辑器,成为程序员的编程利器。下面就以Windows平台为例,介绍一下如何在VSCode中配置PHP的调试开发环境。

一、首先需要架设Windows下的PHP运行环境

参见博文: Windows下使用Apache2.4架设PHP服务器

二、VSCode中下载配置PHP Debug插件

在扩展商店中输入php可以看到PHP Debug插件,安装它。

然后可以看到插件中的安装配置说明:

1.下载XDebug

打开 https://xdebug.org/download的下载页面,根据安装的PHP版本情况下载相应的DLL,由于笔者使用的是PHP8.0 VS16 X64版本,所以下载下图所示的线程安全版本。

如果搞不清楚应该下载哪个版本的DLL,也可以使用说明中的推荐方法: 新建一个简单的php文件,可以命名为test.php,其内容如下:

1<?php
2phpinfo()
3?>

然后在浏览器URL中输入:

1http://127.0.0.1/test.php

如果Web服务器的监听端口不是80端口,则需要明确端口,笔者的端口是81,输入:

1http://127.0.0.1:81/test.php

然后把所有信息复制下来,Ctrl+A、Ctrl+C

然后打开XDebug的安装向导 https://xdebug.org/wizard

向导会给出相应的提示以及XDebug的下载链接。

2.配置PHP.ini

a.配置zend_extension

下载好XDebug后,根据前面向导的提示把下载的Xdebug文件放到指定目录,注意XDebug是PHP的插件,所以是需要放到指定的插件目录中,默认情况下,PHP的所有插件都位于PHP安装目录下的ext目录中。可以参见php.ini中的配置,Windows中按下图所示,填写:

1extension_dir = "../php/ext"

然后在php.ini中添加一行配置来指定zend_extension:

1zend_extension = php_xdebug-3.0.4-8.0-vs16-x86_64.dll

需要注意的是由于php.ini中已经设置了extension_dir来指定PHP扩展的目录,zend_extension就需要以extension_dir指定的目录作为相对路径来填写,这点不能使用前面向导中给定的配置,否则会找不到插件

b.打开远程调试功能

Xdebug v3.x.x需要在php.ini中加如下配置:

1xdebug.mode = debug
2xdebug.start_with_request = yes

Xdebug v2.x.x使用如下配置:

1xdebug.remote_enable = 1
2xdebug.remote_autostart = 1
3xdebug.remote_port = 9003

c.重启WebServer

3.配置VSCode

在settings.json中指定PHP的绝对路径:

1"php.validate.executablePath": "D:\\httpd-2.4.48-Win64\\php\\php.exe",

三、测试

还是使用之前的test.php文件,在phpinfo()这行打一个断点,然后切换到“运行和调试”页面,执行“创建launch.json",如后图所示。

1http://127.0.0.1:81/test.php

可以看到程序中断下来了。

祝好!希望对你有所帮助!