使用PHPSTORM+xdebug远程调试laravel
网上有关的教程一大把一大把,所以本文不叙述细节,只是简单说一下所遇到的坑
本文使用
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,通过查询,是需要将