文章目录

  • 一、首先需要架设Windows下的PHP运行环境
  • 二、VSCode中下载配置PHP Debug插件
  • 1.下载XDebug
  • 2.配置PHP.ini
  • a.配置zend_extension
  • b.打开远程调试功能
  • c.重启WebServer
  • 3.配置VSCode
  • 三、测试


前段时间项目中有写点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插件,安装它。

vscode typescript检测插件_VSCode


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

vscode typescript检测插件_调试_02

1.下载XDebug

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

vscode typescript检测插件_Debug_03


如果搞不清楚应该下载哪个版本的DLL,也可以使用说明中的推荐方法:

新建一个简单的php文件,可以命名为test.php,其内容如下:

<?php
phpinfo()
?>

然后在浏览器URL中输入:

http://127.0.0.1/test.php

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

http://127.0.0.1:81/test.php

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

vscode typescript检测插件_调试_04


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

vscode typescript检测插件_Debug_05


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

vscode typescript检测插件_调试_06

2.配置PHP.ini

a.配置zend_extension

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

extension_dir = "../php/ext"

vscode typescript检测插件_VSCode_07


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

zend_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中加如下配置:

xdebug.mode = debug
xdebug.start_with_request = yes

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

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

c.重启WebServer

vscode typescript检测插件_XDebug_08

3.配置VSCode

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

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

vscode typescript检测插件_调试_09

三、测试

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

vscode typescript检测插件_Debug_10


vscode typescript检测插件_Debug_11


此时按F5进入调试模式,在浏览器中打开页面:

http://127.0.0.1:81/test.php

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

vscode typescript检测插件_PHP_12


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