phpstorm如何结合xdebug断点调试php程序?
发布于 作者:苏南大叔 来源:程序如此灵动~phpstorm
里面断点调试的选项,其实有2个,一个是xdebug
,另外一个是zend debugger
。本篇文章中,苏南大叔的目标是xdebug
,所以,大家请自动忽略相关截图中的zend debugger
的设置项目,我们只设置xdebug
即可。
在php.ini
中,我们设置了端口号和idekey
。实践中,我们发现,如果你就是本机调试的话,这个idekey
也是没用的。据说这个idekey
,是用于多个phpstorm
在一个server
上面调试的情况。既然对于普通情况来说,idekey
是无用的,我们也就可以暂时忽略相关设置了。
设置入口
在phpstorm
中,xdebug
的设置零零散散有好几块,大家跟着苏南大叔进行设置即可。下面的内容里面,我们的前提是:我们先设置了一个域名为php
的网站,对应源码路径为 /www/mine/php/
。下面的截图都基于上述设定,菜单位置基本上都来自于phpstorm
的preferences
设置。
设置php
版本
设置debug
填写好phpini
中的端口号即可。
设置DBGP Proxy
据说正确的姿势是下图这样的,但是你也许从网上其它教程中会看到不同的答案。大家都会声明自己的设置是正确的。真相就是:对于本机调试来说,这里是随便填写的,或者不填,都不影响使用。
设置servers
我们需要新增一条记录,对于域名为php
的server
,我们使用xdebug
调试。
在项目源码功能上,编辑右上角的设置。
我们需要新增一条记录,类型为web application
,而server
则选择为上述servers
设置中,我们新设置的server
。
开始调试
在项目源码功能上,右上角的几个按钮中,我们需要先点击类似电话样的按钮,开始监听。然后在IDE
设置好断点。再点击运行即可。我们可以在phpstorm
的最下方看到调试的结果。
关于浏览器的插件
流传的教程中,必须在相关测试使用的浏览器(比如chrome
)中,安装对应的插件才可以正常使用调试。例如,chorme
下面需要下载xdebug helper
。经过实践证明,这个插件和dbgp proxy
一样,对于单机调试来说,是没有什么用途的。所以,你大可不必安装。
常见问题
Q:9000 port is busy.
A:php-fpm也用9000端口,你懂的。
Q:Waiting for incoming connection with ide key 'xxxxx'
A:php.ini中需要用zend_extension来加载xdebug.so。
关于dbgp proxy
(ide key
)的使用情况,有机会的话,苏南大叔将会在接下来的文章中,继续做进阶介绍。对于普通的情况下的单机调试来说,目前,我们的这些设置,都已经足够日常所需了。phpstorm
官方有个更详细的E文介绍,如果你有兴趣,可以点击这里查看:
广告
更多苏南大叔的xdebug
相关文件,请点击这里查看:https://newsn.net/tag/xdebug/ 。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。