Vagrant下CentOS的box安装Xdebug并开启phpstorm监听浏览器或postman或eolinker远程调试全过程亲测记录

13 篇文章 0 订阅
3 篇文章 0 订阅
前言

如需了解服务器安装Xdebug并开启phpstorm监听浏览器或postman或eolinker远程调试全过程请点我

由于配置过程涉及IP、域名、项目目录,因此统一在这里先约定了,以便对照

服务器IP:192.168.1.8
客户机IP:192.168.1.16(也就是开发机)
项目名称:kol_server
项目所在客户机目录:E:\wwwroot\kol_server
项目所在服务器目录:/home/wwwroot/kol_server
vagrant目录映射:E:\wwwroot=》/home/wwwroot/
项目域名:admin.kol.test.com
项目php版本:7.3
192.168.1.8服务器对应的vagrant实例所在目录:E:\CentOS7.7_lnmp1.6
该目录差不多长下图这个样子:在这里插入图片描述

准备工作

登录先登录服务器,切换vagrant用户到root用户

安装xdebug

选择需要下载的xdebug扩展源码包:https://xdebug.org/download
这里我们假设一个场景:
环境用的是lnmp.org所提供的lnmp1.6版一键安装包,PHP版本用的是php-7.3.11
下载的扩展源码包我打算放在/home下,我打算安装的xdebug扩展版本是Xdebug 2.9.5,那下载后源码包的路径是:

/home/xdebug-2.9.5.tgz
考虑到操作的便捷性此处用一句话命令囊括安装的命令:

cd /home && wget https://xdebug.org/files/xdebug-2.9.5.tgz && tar zxvf xdebug-2.9.5.tgz && cd xdebug-2.9.5 && phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install

至此扩展已经安装完成


现在开启刚安装的扩展

编辑php.ini文件

vi /usr/local/php/etc/php.ini

在末尾加上
特别注意不是extension=xdebug.so是zend_extension=xdebug.so,否则会报Xdebug MUST be loaded as a Zend extension

zend_extension=xdebug.so

重启php,如果你用的也是lnmp,那就执行

lnmp restart

最后验证扩展是否成功安装并生效,执行以下命令:

php -m

看到如下截图表示已经成功:
在这里插入图片描述

修改Xdebug配置

默认配置可参考官方配置项,编辑php.ini文件

vi /usr/local/php/etc/php.ini

在末尾加上你需要的配置,不加则使用默认,如需要修改远程端口,则在文档的末尾添加一行:

xdebug.idekey = "vagrant"
xdebug.default_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9001
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_handler="dbgp"

重启php,如果你用的也是lnmp,那就执行

lnmp restart
配置防火墙,开启9001端口

编辑防火墙iptables配置

vi /etc/sysconfig/iptables

添加

-A INPUT -p tcp -m tcp --dport 9001 -j ACCEPT
配置phpstorm

配置远程php CLI解释器,php language level选择php版本7.3,然后如下图点击…按钮
在这里插入图片描述
根据下图点击
在这里插入图片描述
选择vagrant选择192.168.1.8服务器实例所在目录,选择php7.3解释器所在路径,正常情况下如果没有做多php版本的服务器,只要根据下图选择即可,并在显示successfully connected to 127.0.0.1后点击ok:
在这里插入图片描述
选择debugger extension,也就是xdebug.so路径
类似这样的地址:/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so
在这里插入图片描述
点击ok后可以看到下图,记录点击ok
在这里插入图片描述
其中绿框部分显示的是目录映射信息,无需修改,此处显示可能每个人有所不同,那是因为Vagrantfile配置不一样,phpstorm会根据您之前的选择及Vagrantfile的配置自动生成,切记一般是不需要修改的,其他信息也都不需要修改点击ok保存即可!
设置xdebug远程访问端口
在这里插入图片描述
配置DBGp Proxy
Host是服务器IP
在这里插入图片描述
添加网站服务器
在这里插入图片描述

Name是Server名称,可以随便填写;
Host为你调试项目是访问的IP或者域名.
假设你的访问路径为“http://192.168.1.102/project/…”,那这里配置成192.168.1.102。
假设你的访问路径为“http://www.abc.com/index.php”,那这里配置成www.abc.com;
Port为你Web服务器的端口,一般为80。
除此之外还需要配置项目路径的映射(path mapping),将项目的根目录以及public目录映射到Vagrant服务器中的绝对路径。

设置Run/Debug Configurations

在这里插入图片描述
在这里插入图片描述
上图所示的server选择之前添加的kol_server,选择你调试用的浏览器,默认chrome,其他信息无需修改,点击ok保存即可

下载Xdebug helper浏览器扩展

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

debug调试

开启debug监听
在这里插入图片描述
设置断点

假设kol_server项目是通过thinkphp开发的,最简单的测试方式在入口文件index.php中设置断点如下图:
在这里插入图片描述

使用浏览器调试

假设之前设置的调试浏览器是chrome,那么通过chrome访问kol_server项目域名admin.kol.test.com,默认情况下插件开启的是debug模式,如需切换可以点击浏览器如下图所示图标,进行切换。在这里插入图片描述
正常模式下一旦访问phpstorm即可响应来自xdebug的入站响应

使用eolinker或者postman调试

需要在header请求头部添加Cookie
XDEBUG_SESSION=vagrant
如下图:
在这里插入图片描述

请注意,关于debugger配置验证显示无法通过,请忽略,无法通过原因可以参考如下解释:

个人感觉是因为vagrant的原因导致的,类似之前遇到过的nodejs无法安装扩展,主要是因为验证过程是瞬间完成的,而由于开发需要我做了E:\wwwroot\与/home/wwwroot/映射,由于是映射有一个加载过程,而验证快过了加载,所以导致了验证失败,这个可能性非常高,因为怀疑,我曾尝试快速点击验证,曾出现过因为验证文件尚未删除而进入loading验证环节的情况。
如果大家有找到原因并不是我所说的这种情况,还请麻烦留言告知,谢谢!

整理记录不易,如果对您有用,请不要吝啬点赞!!
如需了解服务器安装Xdebug并开启phpstorm监听浏览器或postman或eolinker远程调试全过程请点我

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值