php远程调试 没有光标,老法师谈技术 - PHP远程单步调试

老法师谈技术 - �PHP单步调试方法(xdebug)

在production环境上面使用单步调试的机会其实不多,但是不妨碍在代码编写阶段,或者代码阅读阶段,单步调试重要性,有时候单步调试一段代码比单纯阅读要效率高很多。

借助于xdebug的库,PHP的单步调试能力非常强大,而且并不依赖于具体客户端,也就是说,无论你是使用PHPStorm或者是Sublime,还是VIM都可以调试PHP程序。鉴于PHP程序都是部署在服务器端,我们这里只讨论remote调试方法。

远程(Remote)调试服务器端PHP程序需要考虑到下面几个方面:

在服务器端,配置xdebug支持remote调试,其实也就是让xdebug发送调试信息到制定地址和端口,

在客户端(你的PC端),配置xdebug服务器,来接受远端(Remote)的调试信息

在客户端映射代码,这样远端的调试信息可以定位到准确的代码位置

无论你是使用何种客户端,都需要考虑上面的三个方面,好下面开始正式的配置信息。

服务器端的xdebug配置

首先需要安装xdebug,这里就不展开了,不同的系统安装方法略有不同。其次,配置xdebug,以ubuntu为例配置文件在(/etc/php7/mods-available/xdebug.ini)

end_extension = "xdebug.so"

xdebug.remote_autostart = 1

xdebug.remote_enable = 1

xdebug.remote_connect_back = 0

xdebug.idekey=PHPSTORM

xdebug.remote_handler = "dbgp"

xdebug.remote_host = 10.0.1.4

xdebug.remote_port = 9000

xdebug.remote_log = "/tmp/xdebug/xdebug_remote.log"

idekey是客户端用来认证xdebug发送过来的信息,所以确保两边配置的要完全一致。remote_host需要填写的是xdebug服务器的地址,在这里也就是你的PC机的地址。remote_log非常有用,发现远程调试不工作的时候,log会告诉你那里出了错。

客户端xdebug配置

Sublime是常用的PHP编辑器,以Sublime举例来说,需要首先安装xdebug插件,最简单的办法就是使用Package Control,具体如何安装这里就不多说了,跟任何其他插件的安装没有任何区别。Sublime的xdebug的配置信息如下:

{

"path_mapping": {

"/WeCenter/" : "/Users/aaa/Mydoc/Code/WeCenter/v319/wecenter-master/"

},

"url": "http://192.168.1.24:30080",

"ide_key": "PHPSTORM",

"port": 9000,

}

配置非常简单,唯一要注意的是path mapping,如果设置错误,中断的同时不能定位到具体的代码。点击Tools\xDebug\Start Debugging之后,在浏览器里面刷新页面的时候,应该可以看到如下界面:

b19649f0d46a

Sublime-xdebug.png

PHPStorm是另外一个广泛使用的PHP开发工具,其配置都是以图形界面的方式进行,我们下面开始一步步的配置:

在Preference\Languages & Frameworks\PHP\Servers:

b19649f0d46a

PhpStorm1.png

在Preference\Languages & Frameworks\PHP\Debug\DBGp Proxy:

b19649f0d46a

ps-2.png

在Preference\Languages & Frameworks\PHP\Debug:

b19649f0d46a

PhpStorm3.png

在Run\Edit Configurations\Defaults\PHP Remote Debug:

b19649f0d46a

PhpStrom4.png

在上述配置都完成了之后,点击Run\Start Listening on PHP Debug Connecting按钮就可以进行单步调试了。

b19649f0d46a

PhpStorm5.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值