我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

phpstorm里面断点调试的选项,其实有2个,一个是xdebug,另外一个是zend debugger。本篇文章中,苏南大叔的目标是xdebug,所以,大家请自动忽略相关截图中的zend debugger的设置项目,我们只设置xdebug即可。

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - phpstorm-xdebug
phpstorm如何结合xdebug断点调试php程序?(图12-1)

php.ini中,我们设置了端口号和idekey。实践中,我们发现,如果你就是本机调试的话,这个idekey也是没用的。据说这个idekey,是用于多个phpstorm在一个server上面调试的情况。既然对于普通情况来说,idekey是无用的,我们也就可以暂时忽略相关设置了。

设置入口

phpstorm中,xdebug的设置零零散散有好几块,大家跟着苏南大叔进行设置即可。下面的内容里面,我们的前提是:我们先设置了一个域名为php的网站,对应源码路径为 /www/mine/php/ 。下面的截图都基于上述设定,菜单位置基本上都来自于phpstormpreferences设置。

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - menu
phpstorm如何结合xdebug断点调试php程序?(图12-2)

设置php版本

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - 006
phpstorm如何结合xdebug断点调试php程序?(图12-3)

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - 007
phpstorm如何结合xdebug断点调试php程序?(图12-4)

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - 008
phpstorm如何结合xdebug断点调试php程序?(图12-5)

设置debug

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - debug
phpstorm如何结合xdebug断点调试php程序?(图12-6)

填写好phpini中的端口号即可。

设置DBGP Proxy

据说正确的姿势是下图这样的,但是你也许从网上其它教程中会看到不同的答案。大家都会声明自己的设置是正确的。真相就是:对于本机调试来说,这里是随便填写的,或者不填,都不影响使用。

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - proxy
phpstorm如何结合xdebug断点调试php程序?(图12-7)

设置servers

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - 002
phpstorm如何结合xdebug断点调试php程序?(图12-8)

我们需要新增一条记录,对于域名为phpserver,我们使用xdebug调试。

在项目源码功能上,编辑右上角的设置。

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - config
phpstorm如何结合xdebug断点调试php程序?(图12-9)

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - 004
phpstorm如何结合xdebug断点调试php程序?(图12-10)

我们需要新增一条记录,类型为web application,而server则选择为上述servers设置中,我们新设置的server

开始调试

在项目源码功能上,右上角的几个按钮中,我们需要先点击类似电话样的按钮,开始监听。然后在IDE设置好断点。再点击运行即可。我们可以在phpstorm的最下方看到调试的结果。

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - 005
phpstorm如何结合xdebug断点调试php程序?(图12-11)

苏南大叔:phpstorm如何结合xdebug断点调试php程序? - result
phpstorm如何结合xdebug断点调试php程序?(图12-12)

关于浏览器的插件

流传的教程中,必须在相关测试使用的浏览器(比如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 proxyide key)的使用情况,有机会的话,苏南大叔将会在接下来的文章中,继续做进阶介绍。对于普通的情况下的单机调试来说,目前,我们的这些设置,都已经足够日常所需了。phpstorm官方有个更详细的E文介绍,如果你有兴趣,可以点击这里查看:

广告

更多苏南大叔的xdebug相关文件,请点击这里查看:https://newsn.net/tag/xdebug/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   php    phpstorm