likes
comments
collection
share

基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别

作者站长头像
站长
· 阅读数 69

一、前言

前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别Phpstorm和Xdebug的配置一直调试不通,网上搜索出来的资料也有点混乱(主要还是我菜)。 暴露了之前对xdebug这一块的内容了解的不够透彻,所以,我决定写这篇文章,既是对自己的一个总结,也是希望能和大家一起交流心得,共同进步。

二、原理

  • IDE启动本地9002端口监听
  • web服务器根据配置文件中的remote ip和port信息,进请求转发到配置的IDE上

基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别

三、实践操作

注意:这里主要以xdebug 3.X 来进行实验,2.X和3.X的配置有差别。详情可参考官方文档

3.1、web 服务器环境配置

  • Nginx -> php-fpm配置,相信大家都很熟悉,这里就略过了(注意这里用通过tcp协议进行通讯,端口为9000)
  • 安装Xdebug 可以使用在此网站上进行检验下载,配置Xdebug参数配置(php.ini文件配置)-- 配置修改参数,记得重载文件
***  省略部分内容 ***
...

[xdebug]
zend_extension="/www/server/php/81/lib/php/extensions/no-debug-non-zts-20210902/xdebug.so"

;xdebug3.0中用于代替之前的xdebug.remote_enable=On
xdebug.mode=debug

;xdebug3.0中用于代替之前的xdebug.remote_autostart,trigger对应之前的off,yes对应之前的on
xdebug.start_with_request=yes

;xdebug3.0中用于代替之前的xdebug.remote_host
xdebug.client_host="127.0.0.1"

;xdebug3.0中用于代替之前的xdebug.remote_connect_back=On,它会自动从$_SERVER['HTTP_X_FORWARDED_FOR']
;或$_SERVER['REMOTE_ADDR']变量中获取ip,当然因为$_SERVER只有服务器模式有所以客户端模式是用不了的(可配置其它变量)
;如果找不到ip它会回退(fallback)到xdebug.client_host指定的ip
xdebug.discover_client_host=true

;xdebug3.0中用于代替之前的xdebug.remote_port
xdebug.client_port=9002

xdebug.remote_handler="dbgp"
xdebug.idekey="PHPSTORM"

3.2、IDE配置(这里主要以Phpstorm为主)

  • 先设置IDE本地监听端口,并进行启动

IDE参数配置 基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别 基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别 基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别 基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别

查看是否正常启动9002 端口进行监听(我的环境是mac,win等其他环境可自行查找对应的命令) 基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别

访问链接,就可以看到IDE中打印出相关的信息 基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别

3.3、号外

可能有些朋友平时在一些文章看到一些介绍说,需要安装浏览器xdebug拓展之类的,为什么我们这不安装也可以使用呢?原因是出在参数xdebug.start_with_request的设置上

这里我们关闭自动调试,来操作一次浏览器插件启动调试的方案

# 这里我们关闭自动调试 (记得重载文件)
xdebug.start_with_request=trigger 

启动调试模式 基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别

配置浏览器xdebug 基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别

启动浏览器访问,查看效果

基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别

基于PhpStorm的Xdebug搭建实践一、前言 前一段时间公司电脑重新装系统,导致PHP等开发环境需要重新安装,特别

总结与思考

  • Xdebug和IDE调试的基本原理
  • 自动调试模式的设置、非自动调试模式的设置
  • Xdebug与Phpstorm之间ssh通讯值得进一步研究

参考资料

转载自:https://juejin.cn/post/7384109433734299667
评论
请登录