专业的编程技术博客社区

网站首页 > 博客文章 正文

mac phpstorm配置xdebug 3.0最新教程

baijin 2024-08-29 12:25:03 博客文章 4 ℃ 0 评论

大家好呀,我是yangyang.今天这篇开始,我要给大家出一系列xdebug3和xhprof的教程(xdebug类似),便于大家调试和性能分析(犹然记得当年我在一家公司的技术老大给我们讲述了他在腾讯某业务部现场处理一个外包我们做的项目的性能问题,老大临危受命,临危不惧,借助xdebug3、xhprof等其他工具分析解决了性能问题,稳定了巨大的屎山代码[我们在那个公司基于symfony构架了的公司内部框架的设计是真的厉害,不过业务人员多了,代码也乱了).

安装和配置xdebug

在 Linux 上安装#

使用包管理器安装 Xdebug 通常是最快的方法。根据您的发行版,运行以下命令:

  • CentOS
    sudo yum install php-xdebug
  • CentOS (Remi Repo):
    sudo yum install php74-php-xdebug3、 或
    sudo yum install php80-php-xdebug3、 或
    sudo yum install php81-php-xdebug3
  • Ubuntu(18.04 LTS/Bionic、20.04 LTS/Focal):
    sudo apt-get install php-xdebug
  • Ubuntu(Ond?ej Sury 的 PPA):
    sudo apt-get install php7.4-xdebug、 或
    sudo apt-get install php8.0-xdebug、 或
    sudo apt-get install php8.1-xdebug
  • Debian(9/stretch、测试/buster/bullseye/sid):
    sudo apt-get install php-xdebug
  • SUSE(openSUSE、Enterprise):, 或
    sudo zypper in php7-xdebug
    sudo zypper in php8-xdebug
  • Alpinelinux :
    sudo apk add php7-pecl-xdebug, 或
    sudo apk add php8-pecl-xdebug
  • Arch Linux::
    sudo pacman -S xdebug

使用 PECL 安装

pecl install xdebug
# mac 可以指定php版本
/opt/homebrew/Cellar/php@8.2/8.2.14/bin/pecl install xdebug

window安装

直接下载dll文件(https://xdebug.org/download)

源码编译

git clone https://github.com/xdebug/xdebug.git

...
cd xdebug
phpize
./configure --enable-xdebug
# 指定版本
 ./configure --with-php-config=/opt/homebrew/Cellar/php@8.2/8.2.14/bin/php-config --enable-xdebug
make && make test
make install

配置调试环境

配置 xdebug

[xdebug]
zend_extension="xdebug.so"
xdebug.mode = debug // # 启用调试
xdebug.client_host = 127.0.0.1 // 
xdebug.client_port = 9003 // 监听端口
xdebug.collect_return=On
xdebug.idekey="PHPSTORM"
xdebug.log="/tmp/xdebug.log"
;xdebug.log_level=0

注意 监听端口默认是 9000 , 和 php 默认监听重复, 注意尽量不用使用 9000, 以免出现不生效的情况

设置 phpstorm 配置并开启监听

配置端口

我们这里监听的是 9003 端口, 和 xdebug 配置监听数据端口一致;当然其实这里保持默认设置也是没问题的,默认设置是:9000,9003.它的意思是:xdebug2走9000,xdebug3走9003



DBGp代理配置



启动phpstorm 数据监听

点击图上的电话标识后,电话标识变成绿色,这时候就开启了监听,这时候,我们可以通过lsof命令观察配置的客户端端口9003

  • 关闭时
  • 开启时


php网页调试

  1. 服务器配置

添加一个服务器,也就是添加一个正运行的php项目进行调试启动.比如基于nginx启动的一个tp项目:test.com.cn,这时候我们可以添加一个新的服务器主机名test.com.cn,调试器为xdebug.服务器名称为tp8


  1. 验证连接

图上提示的发现客户端主机,关闭,可以不管它.但是其他项验证不过,需要检查你的xdebug配置和服务器的主机是否可以正常访问,php版本是否和xdebug版本适配

  1. 编辑配置

如果没有配置,我们这里就新建一个配置,选择php网页,然后设置名称、选择服务器,设置起始url(这里的url可以填写任何一种框架的路由:比如/users/100;/users)



  1. 开启调试

选择上面配置的服务器,然后在编辑器里针对需要调试的行打下断点,点击红色蜘蛛按钮开始断点调试(这里会在下一次的文章发布),这样我们就可以愉快的调试我们的tp8框架里


php脚本控制台调试

  1. 编辑配置

和上面类似,这里选择php脚本

  1. 开启调试

php脚本浏览器调试

脚本也可以通过运行到浏览器调试,可以直接添加一个javascript调试,不过也可以右键快速调试


设置 debug session

debug session 的工具的目的是设置一个cookie, 让每次发送数据的时候都会携带这个 cookie, 从而识别监听,这样才能使用调试.

安装浏览器调试插件

连接:https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc/related?hl=en

点击 图标设置session

已经设置了cookie, Key 是 XDEBUG_SESSION, 值是 PHPSTORM, 这里需要和php.ini的配置项`idekey`一样.

5) 运行页面

这里我们在断点位置可以看到输出的内容项目

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表