phpstorm配合Xdebug完成php程序的远程调试

初学php发现php程序是运行在服务器上面的,它的调试方式和之前用的java不太一样,因此结合之前搭建的CentOS7虚拟机模拟远程调试环境,走了不少弯路,记录下来希望能帮到你!

linux下安装Xdebug

以下方法用于Linux环境下安装Xdebug,并且完成基本配置。需要分为以下两个步骤

1、把远程服务器所在环境的phpinfo()信洗复制到Xdebug安装引导输入框中,可以自动生成安装命令,按部就班执行即可
(这是目前在linux环境下源码安装体验最好的一次,傻瓜式安装)
网址:https://xdebug.org/wizard

2、按照上一步执行完成之后,在php.ini文件中进行Xdebug的相关配置,例如我的配置如下:
zend_extension=/etc/php7.2.30/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so //加载编译生成的.so扩展文件
xdebug.remote_enable=1 //允许远程调试
xdebug.remote_handler=dbgp 
xdebug.remote_host=172.22.145.146 //远程IP地址,注意这里是指客户端所在的IP地址(理解为phpstorm所在的地址),
因为debug的过程实际上是客户端与服务端不断交互的过程,代码运行在服务端上
xdebug.remote_port=9100 //通信端口号,与后续在phpstorm中配置的端口号一致即可,保证不与其它程序冲突
xdebug.remote_autostart=1
xdebug.idekey=PHPSTORM //与phpstorm中配置的idekey相同即可

phpstorm配置Xdebug

首先打开phpstorm的“settings→Language & Frameworks”,通过ssh将php解释器设置为服务器上面的php解释器,如图

phpstorm配合Xdebug完成php程序的远程调试_第1张图片

然后在Settings中搜索Xdebug,完成如下配置

phpstorm配合Xdebug完成php程序的远程调试_第2张图片

再添加服务器,这里我选择导入之前配置好的远程Apache服务器 ,也就是前面安装了Xdebug的服务器

phpstorm配合Xdebug完成php程序的远程调试_第3张图片

配置 DBGp协议,其中IDEKEY和php.ini中Xdebug保持一致

phpstorm配合Xdebug完成php程序的远程调试_第4张图片

 

之后是在“run→Debug Configuration里面”,添加“PHP Web Page”,选择刚才在servers中添加的服务器即可

phpstorm配合Xdebug完成php程序的远程调试_第5张图片

然后保存配置,打开监听

phpstorm配合Xdebug完成php程序的远程调试_第6张图片

打上断点,运行即可调试

phpstorm配合Xdebug完成php程序的远程调试_第7张图片

最后,如果是MVC项目,要和浏览器联调,需要在浏览器端也安装一个Xdebug扩展程序,在对应页面开启即可

 

你可能感兴趣的:(项目中踩过的坑)