PHP+wampServer+phpStorm + xdebug 单步调试

在这里我们使用的是postman模拟post请求方式,使用phpStorm编辑器,使用wampserver作为开发环境,进而来使用xdebug进行单步调试的。

首先wampserver在低版本的时候是没有xdebug这个扩展的,但是到了高版本(php 5.6.*)以后就集成了该扩展,我们只需要开启就行了。

如果没有php_xdebug-2.4.0rc2-5.6-vc11-x86_64.dll(xdebug扩展包),那么就要去网上下载对应php版本的扩展包了,然后放到/bin/php/php5.6.16/zend_ext/ 目录下,接下来我们就要去php.ini这个配置文件中去开启我们的xdebug扩展。

修改PHP配置文件 php.ini

; XDEBUG Extension
[xdebug]
zend_extension ="F:/wamp64/bin/php/php5.6.16/zend_ext/php_xdebug-2.4.0rc2-5.6-vc11-x86_64.dll"

;允许远程IDE调试
xdebug.remote_enable = On

;远程IDE所在HOST和PORT
xdebug.remote_handler = dbgp
xdebug.remote_host= localhost
xdebug.remote_port = 9002

;可以是任意Key,这里设定为PHPSTORM
xdebug.idekey = PHPSTORM

;开启远程调试自动启动
xdebug.remote_autostart = Off


;开启自动跟踪
;xdebug.auto_trace = On
;xdebug.trace_output_dir="C:\webserver\xdebug"

;把执行情况的分析文件写入到指定目录中
;xdebug.profiler_enable=on
;xdebug.profiler_output_dir="C:\webserver\xdebug"

xdebug.idekey=”PHPSTORM” 则是指向了你的PHPSTORM IDE 这样你的PHPSTORM就可以捕获到这个断点事件了.
(配置你的PHPSTORM)
打开PHPStorm ,File->settings->Languages & Framework -> PHP , 就可以打开设置界面 找到PHP一栏 让你的IDE 和你的PHP绑定起来.

PHP+wampServer+phpStorm + xdebug 单步调试_第1张图片

PHP+wampServer+phpStorm + xdebug 单步调试_第2张图片

接下来我们需要让PHPStorm开启Xdebug监听,
File->settings->Languages & Framework -> PHP ->Debug 将 Debug port: 设置为9002(默认设置为9000), 如果你的9000端口被占用 你也可以改为9001,9002等 当然如果你改了端口 需要在php.ini里加一行xdebug.remote_port = 9002 这样才能对应上Xdebug的监听端口.

PHP+wampServer+phpStorm + xdebug 单步调试_第3张图片

PHP+wampServer+phpStorm + xdebug 单步调试_第4张图片

PHP+wampServer+phpStorm + xdebug 单步调试_第5张图片

注意:在这里的 127.0.0.1这个端口的配置是自动生成的,如果没有自动生成,那么则可以手动的把该文件进行配置下。

PHP+wampServer+phpStorm + xdebug 单步调试_第6张图片

通过上面的这几个步骤,我们就初步的把xdebug扩展成功开启了,并且把phpStorm也配置成功了,那么我们接下来要做的操作就是在程序里面打好断点,并且通过谷歌带的调试工具postman来模拟一个post请求,来触发断点的执行,从而进一步执行单步调试的动作。

PHP+wampServer+phpStorm + xdebug 单步调试_第7张图片

打开POSTMAN(谷歌浏览器的一个扩展工具可以用来模拟POST,GET等请求)
注意!
在你所请求的API参数中加入一个 XDEBUG_SESSION_START = PHPSTORM 这是为了告知 你的请求需要触发断点调试.

PHP+wampServer+phpStorm + xdebug 单步调试_第8张图片

成功触发断点调试后进入的界面效果如下所示:

PHP+wampServer+phpStorm + xdebug 单步调试_第9张图片

总的来说: 首先就是在php.ini文件中进行配置
其次需要到phpstorm中进行配置
最后进行触发就行了,?XDEBUG_SESSION_START=PHPSTORM
例如: http://127.0.0.1/ysbt/public/api/v1/massagist/examine/order/recode?XDEBUG_SESSION_START=PHPSTORM

进行监听9000端口:(如果谁触发了该端口,那么就进入断点程序)

你可能感兴趣的:(PHP)