php 5.3.29 怎么开启debug_使用 xdebug + phpstorm 开发调试 PHP 程序完整指南【含多用户共用开发机设置】...

很多 PHPer 想体验 PHP 的断点调试功能,第一步败在没有很好的 IDE 上,第二步败在 IDE 配置上。而 phpstorm 已是当下最好用的 PHP IDE 了,我们就通过这篇文章好好讲讲吧。

一、xdebug设置

  1. PHP 安装 xdebug 扩展步骤

【略】

2. PHP.ini 设置

;php.ini 配置调试相关参数
;必须以zend模块 加载xdebug
[xdebug]
zend_extension=xdebug_module_goes_here
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9800

二、xdebug 基本原理

  1. 简单来说分两步
一、IDE 监听一个端口。
二、当一个请求执行过程中PHP 启用了 xdebug,将断点信息发送到 IDE 监听的端口。

2. 如果服务器不在本地怎么办?

我们需要保证服务器与本机互通性,xdebug.remote_host 设置为 IDE机器的 IP

3. 如果服务器不在本地,也没法连接到本地怎么办?

我们可以祭出 ssh 隧道技术
ssh -f -R9911:127.0.0.1:9911-N artisan@110.119.120.100
在服务器上打一个洞映射到本机的同一个端口,这样 xdebug 发送数据到服务器机器上的端口就能被 IDE机器监听到了。

4. 如果需要多个人分别 debug 互相不打扰怎么办?

这时我们用到了一个叫做 DBGpProxy 的东西,如下图所示

c5592343e51a0702610abf52f1e7a665.png
DBGpProxy 把自己当做 IDE 监听了一个端口,xdebug 把请求数据发给 DBGpProxy 后,DBGpProxy 再分发给每个 IDE。
每个 IDE 上设置 DBGpProxy 的 IP 和 port,并且发送注册指令告知 DBGpProxy 他的唯一标识 IDE_KEY
当发起请求中的 header 或者 query 中的字段携带了XDEBUG_SESSION_START=PHPSTORM 则会由 xdebug 发给 DBGpProxy ,再转发给对应的 IDE。

这一段比较绕,需要结合图示和文字好好想清楚。


5. DBGpProxy Server 到哪里下载?

下载,解压,执行py脚本

KOMODO IDE DEBUGGER PROXY​community.activestate.com
cd /usr/local/bin
export PYTHONPATH="${PYTHONPATH}:/opt/bin/pydbgpproxy/pythonlib" && ./pydbgpproxy  -d 127.0.0.1:9800 -i 0.0.0.0:9901&

三、Chrome Xdebug helper

清楚了原理以后,我们来做一些设置简化 debug 的操作,下载扩展

7479cfaf395048b16c6a7055c6f628b9.png

9c724b59730eb3f3cd30aa45da590c85.png


启用 debug 时仅仅是多帮我们在请求时传了一个参数而已。

四、phpstorm IDE 设置

bea03f436e7b62a703916b07ed73e0df.png
这里是 IDE 监听的本地端口,不要被其他的应用占用了

7ca56eb981f2d4ccbf3da453d18c5fca.png
这里要指定为 DBGpProxy 的地址和端口

af8314b6b76271fc7b9d75a56771a461.png
向 DBGpProxy 注册 IDE key

aeaf4c4af3dc65e58114fb80de52e5f0.png
IDE 开启 debug 后浏览器中发起请求即可捕获

文章写的比较仓促,欢迎回帖交流。

Debugger and Profiler Tool for PHP​xdebug.org Chrome Xdebug Helper​chrome.google.com Xdebug 多用户配置​derickrethans.nl PhpStorm, XDebug, and DBGp Proxy​www.cnblogs.com
bb56be1ed08a9720a5d55d57dc9c64a0.png
DBGp Proxy - Help​www.jetbrains.com Komodo Remote Debugging Package Downloads​code.activestate.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值