使用PHPSTORM+xdebug远程调试laravel

2018年1月11日 0 作者 筱枫

网上有关的教程一大把一大把,所以本文不叙述细节,只是简单说一下所遇到的坑

本文使用

phpstorm 2017.3.2

Fedora27

laravel 5.5

php7.1

首先将各种环境装好犀利士
后,使用

yum install php-xdebug -y

安装好后xdebug,进入 /etc/php.d/中配置xdebug.ini

1.开启基础的远程调试

xdebug.remote_enable = 1 必须要打开

坑1:如果采用的php-fpm来监听的9000端口,会与xdebug的默认端口冲突,此时可使用

xdebug.remote_port = 其他端口 来解决冲突,谨记开放防火墙允许

2.设置允许可调试的ip

xdebug.remote_host=xx.xx.xx.xx

坑2:注意,此处不能使用0.0.0.0来允许所有ip,可以采用xdebug.remote_connect_back=1 来允许所有

3.设置调试关键字

xdebug.idekey = “PHPSTORM”

4.重启php-fpm服务查看是否加载成功


以上是xdebug的配置,下面是有关于phpstorm的配置

我采用的方式是win10宿主机+vmbox虚拟机的方式编写代码

代码在windows本地,通过vmbox的增强功能挂载进linux,再用linux来访问

下面是正题:

首先打开phpstorm->settings->Languages & Frameworks->PHP

点击此处按钮进入CLI配置

点击左上角的+号,选择From Docker、VM…

根据情况选择是vagrant还是其他,这里选择使用ssh链接

输入ip地址、账号密码,点击确认后即可进行验证,账号密码正确的话,这个CLI即被添加进phpstorm中

因为是远程挂载本地代码,所以需要采用路径映射

点击这个按钮,进去设置对应的路径

这个是我已经设置好的路径

一切无误后点击确定。

如果之前的xdebug.remote_port端口号不为默认的9000,则需要更改此处

点击左边的Validate进入验证xdebug的界面,然后点击下方的Validate进行验证

但是这里失败了,原因在于路径的配置

如果直接用phpstorm打开laravel的路径,直接是根目录,但是laravel的index.php是在public目录下,所以

更改一下这个路径就ok了

接下来就是按照

这个步骤一步一步来了,安装浏览器插件,打开phpstorm的监听,然后打上断点,开始访问

别忘了添加配置文件

这个具体的配置因为篇幅问题,不再赘述,可以参考网络上其他的配置文件,

总结而言,主要有三个大坑,谨以此文,望助后来人。


2020-03-17更新

最近wsl2发布,于是兴冲冲的前去体验,但是xdebug配置后一直连接不上phpstorm,通过查询,是需要将

xdebug.remote_host中的ip改为实际的局域网ip,而不是网桥的ip
这样就可以成功进行访问了