phpstorm配置远程xdebug遇到的问题 phpstorm+xdebug+虚拟机
先说下背景,phpstorm在windows上,运行环境在虚拟机上配置的lnmp,最近刚进一家新的公司,让我熟悉下代码逻辑,开始一直用var_dump()跟代码觉得太麻烦了,觉得用xdebug是不是会好些,然后遇到了一些问题,在这记录下,希望可以帮到大家,这篇文章主要记录phpstorm和运行环境不再同一台主机会遇到的一些问题,如果环境和编辑器都在windows就可以略过了。
首先得配置xdebug扩展,我用的oneinstack一键安装,安装的时候可以直接选择xdebug扩展,这里就不说其他环境如何安装xdebug扩展了。接下来需要做的就是找到xdebug配置,一般会在php.ini里面配置,但是oneinstack有点特殊,单独引入了配置文件,在phpinfo找到了如下路径(之前踩过这个坑)
打开配置,主要配置了红框部分,上面的是环境安装完成就有了的
配置好可以用命令:service php-fpm restart 重启下php
下面是phpstorm的配置
还有这里应该也要保持一致
servers里如下配置
然后是run->edit configurations 打开后点 ‘+’号,新增一个php web application
下面这里这个按钮需要点击成为监听状态 ,下图这个样子就是监听状态
然后点击小蜘蛛,浏览器已经带了xdebug参数了
但是打断点没有效果,debugger栏目下面啥都没有,看了xdebug日志,报如下错误
然后telnet了下,连不上
最后发现是防火墙的问题,然后在windows上加了9010的入站规则
加上端口后再telnet,这样说明端口通了
再次点击小蜘蛛,debugger报错如下图
因为虚拟机和本地路径不一样,所以需要一个映射关系,重新配置service如下图,需要配置映射关系
最后大功告成
希望能对你有所帮助。