您的位置:首页 > 编程语言 > PHP开发

vscode-PHP调试工具测试

2017-11-06 17:04 323 查看
[VS CODE] PHP调试环境配置步骤

STEP1 安装配置VS-Code-PHP

STEP2 安装配置XDebug

STEP3 配置VSCode调试器

扩展

Wampserver32

整合部署环境,集成Apache服务器 + MySQL + PHP一体的服务器配置环境

Wampserver版本: 3.0.6 32bit

PHP版本: PHP 5.6.25

XDebug

Xdebug is an extension for PHP to assist with debugging and development. It contains a single step debugger to use with IDEs;

XDebug版本: v2.4.1

VSCode

微软提供的一款文本编辑器,使用起来挺带感。界面友好,支持语种非常全面,插件生态链健全。

PS: 注意需要在首页安装php的支持文件

PHPDebug

vs code plugin - VS code ide 插件

用于适配vs code ide的调试器

PHP Debug Adapter for Visual Studio Code

部署调试环境步骤如下:

STEP1 安装配置VS-Code-PHP

安装VS-Code环境

安装PHPDebug - 扩展选项中输入查找安装,重启环境 - 如下图所示:



文件->首选项->设置 ===> 配置PHP执行文件路径,如下图所示:



配置内容如下,因为wamp存在两个php版本,本次测试使用的是5.6版本。

“php.validate.executablePath”: “C:/wamp/bin/php/php5.6.25/php.exe”,

新建需要调试的文件,例如index.php,文件的目录应存在于服务器的目录下,目标文件必须要能够被webserver访问。

STEP2 安装配置XDebug

下载安装XDebug

安装方法可以参考XDebug官方网站

https://xdebug.org/download.php

不需要安装,下载后文件是一个dll插件

由于我们使用Wampserver,查找安装目录下存在如下dll

.\wamp\bin\php\php5.6.25\zend_ext\php_xdebug-2.4.1-5.6-vc11.dll

该dll为Wampserver提前安装好的XDebug,本次测试使用该版本的XDebug进行测试。

配置XDebug

找到php.ini文件,在该文件尾部添加如下设置:

[xdebug]

zend_extension = “c:/wamp/bin/php/php5.6.25/zend_ext/php_xdebug-2.4.1-5.6-vc11.dll”

xdebug.remote_enable = On

xdebug.remote_autostart = On

zend_extension 表示扩展的XDebug插件路径,选择上一步安装的路径

xdebug.remote_enable 使能远程调试

xdebug.remote_enable 使能自动远程调试 - 该选项也必须选中

查看是否安装成功,可以进入浏览器(Wampserver配置成功)localhost,查看phpinfo(),如下图所示:



上述配置两个开关必须为开启状态才能够启用调试,否则会导致无法启动调试器,无法调试。

PS:php.ini 路径如下:

C:\wamp\bin\apache\apache2.4.23\bin\php.ini

重点关注

上面的路径选用apache服务器下的php.ini配置文件,一定不能选择php版本对应目录下的php.ini修改,否则将导致无法触发断点。

C:\wamp\bin\php\php5.6.25\php.ini

STEP3 配置VSCode调试器

启用调试器,按下F5或者debug按钮,会弹出如下图所示下拉框:



选择后,会在工作目录下面出现.vode文件夹,文件夹下会出现一个名为”launch.json“的配置文件。该文件就是该调试器对应的配置文件,勿需修改。缺省内容如下:

{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}


PS: 此处PHP对应的就是PHP Debug插件,如果项目文件夹中有其他前端代码需要使用Debug for Chrome进行调试,可把.vode文件夹删除后,重启选择调试器进行配置。

选择调试界面



选择”Listen for XDebug“一项

下断点,按下F5界面进入调试状态

进入浏览器中进入该项目下的php文件,触发断点,正常调试完成。

扩展

其中还有另外一项Launch currently open script,其主要功能是离线调试,依赖于PHP-CLI。

值得一提的是,psysh也是依赖于php-cli。如果问cli到底是什么,目前我能理解的就是本地的脚本解释器,地位等价于web服务器中的脚本解释器。如果使用该方式进行调试,可不需要架设服务器调试代码逻辑。

需要注意的关键点,如果在该调试模式下,php.ini文件不再选择Apache服务器下的php.ini文件,应该选择PHP安装目录下的php.ini文件配置与STEP2相同的配置选项。同理如果修改PHP安装目录下的php.ini文件,在phpinfo中是无法查看到Xdebug进行了修改。

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 调试