php xdebug远程调试配置(含cli模式)

article/2025/9/28 19:35:39

找了很久php的xdebug扩展远程调试教程,大都已经过时,现在记录下php配置xdebug远程调试的过程。

适用php版本: php 7 ~ 8

适用安装xdebug3 版本

目录

1. 安装xdebug

关于windows下的安装

关于linux下的安装

2. 配置phpstorm远程调试

 1. 全局监听(监听xdebug端口的所有请求,不推荐)

 2. 根据配置文件的debug(推荐)

3. 命令行cli调试



1. 安装xdebug

关于windows下的安装

官网下载:Xdebug: Downloads

找到需要的版本下载

解压下载好的压缩包,提取dll文件,放到php的ext扩展目录下 ,

dll文件例如: php_xdebug-3.1.0beta2-7.4-vc15-nts-x86_64.dll

Ps:有可能需要php.ini 中ext指定扩展目录,一般不用设置

 

如果你不知道下载什么版本,那就去 Xdebug: Support — Tailored Installation Instructions

在命令行输入 php -i 或者打印出 phpinfo() ,复制里面全部的文本内容到链接中输入框,官方会提供下载指引。

安装xdebug后,接下来就是修改php.ini配置文件了

新版xdebug3的配置已经变了,旧的教程已经不合适了,会在php_error.log报错的

Xdebug3需要在php.ini中添加以下配置

Ps:记得改成自己需要的配置

;指定xdebug扩展位置
zend_extension=xdebug-3.1.0beta2-7.4-vc15-nts-x86_64.dll;配置xdebug
[xdebug]
;配置xdebug主机地址
xdebug.client_host = localhost
;监听端口
xdebug.client_port = 9103
;idekey
xdebug.idekey = PHPSTORM
;调试模式建议设置成debug可以打断点调试,默认是default
xdebug.mode = debug,trace

以上就是最少的xdebug配置了,想知道更多xdebug配置介绍可以去官网看看 Xdebug: Documentation » All settings ,里面都有介绍什么配置有什么功能。

最后可以在命令行输入php -m 查看是否安装xdebug成功

关于linux下的安装

官网首页都有Linux安装示例了,自己看 Xdebug: Documentation » Installation

2. 配置phpstorm远程调试

示例phpstorm版本2022.2.5,因为phpstorm不同版本功能与布局不太一样,所以使用方式也因版本不同。

全局debug配置

点击蓝色的validate链接可以验证当前配置是否正确。

配置主机映射

设置主机映射,用于在浏览器访问时,phpstorm能够根据url链接路径映射到实际的运行文件,可设置多个,不同的项目使用不同的设置。根据实际情况设置,我这里设置一个就行了。用的是thinkphp6,指向的是项目根目录(也可以是public目录,自己根据需要填写),主要是匹配你的web服务程序的真实目录与运行目录,比如在docker内的nginx的运行目录是\data,但文件真实存在别的地方。

PS:如果IDE能自动识别也就不用勾选 use path mappings 了,不过我看大部分情况都是识别不了

 1. 全局监听(监听xdebug端口的所有请求,不推荐)

开启电话图标代表监听所有对php的请求,不区分请求服务的域名,当有请求到php时就会触发xdebug拦截,请求越多弹出的debug窗口越多,缺点是难以判断是哪个请求产生的debug。

 2. 根据配置文件的debug(推荐)

在右上角的 Run/Debug Configurations 配置处创建调试配置,也适用与命令行cli调试。

 

下图是完整配置,创建并选择调试配置文件。

配置好后就可以打上断点,点击小甲虫调试图标就可以开始调试了。根据配置文件的debug有一个好处就是可以区分是哪个项目触发的,当同时有多个请求会自动阻塞排队,一个一个执行debug。

接下来可以在浏览器使用以下两种方式调试:

方法一:

浏览器url 后面加上XDEBUG_SESSION_START=1 首先 ,这个 XDEBUG_SESSION_START 是必须的,但是他的值是可以随便填写的。

如:https://xxxx.com?XDEBUG_SESSION_START=1

参考文档:  Xdebug: Documentation » All settings

 

方法二:

在浏览器安装 Xdebug helper 调试插件,至于怎么安装,请自行百度。

这个工具会自动帮你设置,只不过他是在 cookie 里面设置,依赖cookie。

安装完成后,需要先配置,右键扩展栏的虫子图标,选择选项。

大功告成,现在可以开始调试了,使用浏览器访问url会自动停在断点处,有时候调试自动断开 nginx 返回 504这是因为你没有调整 PHP 和 FPM 以及 Nginx 的最大执行时间,修改到一个较大的值即可。

参考文档:

https://segmentfault.com/a/1190000019775071

PhpStorm配置Xdebug调试 - 艾薇-Ivy - 博客园

3. 命令行cli调试

如果你想对命令行cli运行的脚本进行调试,可以这样配置

创建与选中php scripti脚本调试配置后点击小虫子即可开始调试,可以在脚本中打断点了!!

注意:xdebug只能调试传统php开发模式,不能调试Swoole与Workerman

等什么时候有空再发docker下的xdebug/swoole远程调试教程,如果会变通的话上述配置是可以修改为远程调试服务器的教程的,等有空再发详细教程吧


http://chatgpt.dhexx.cn/article/4rgROgka.shtml

相关文章

VScode调试php文件(详细且简单易操作)

之前也不懂,看了网上好多帖子,按照它们步骤操作一遍之后,还是不行。。。。。头都大了 现在懂了,原来几步就搞定了,被它们搞得这么复杂,又是配置这个文件,又是配置那个文件,。。。。…

PHP调试方法

为什么需要Debugger? PHP程序员调试使用echo、print_r()、var_dump()、printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至…

VScode + PHPstudy + PHP Debug 调试PHP代码

找了好多文章写个流程笔记记录下,整了几天终于搞定了(毕竟我是小白萌新)。 下载小皮面板 https://www.xp.cn/download.html下载vscode https://code.visualstudio.com/下载everything https://www.voidtools.com/zh-cn/ 一、小皮面板点击配…

PHP笔记-使用PHPStorm断点调试php代码

最近在撸php,书上都不交断点调试,这尼玛坑得很,没有断点的开发程序,就是坑,通过查阅和摸索,调试成功,在此记录下: php版本:7.1 phpstorm版本:2020.3 首先运…

phpstorm+xdebug/php项目调试

前提:项目使用xampp集成 一、下载xdebug,当到xampp/php/exp目录下 二、配置php.ini [Xdebug] zend_extension"D:/xampp/php/ext/php_xdebug.dll" xdebug.collect_paramsOn xdebug.collect_returnOn xdebug.auto_traceOn xdebug.trace_output_…

php调试排错技巧大全

做php开发时间不短了,在这里总结下平时常用的调试方法,希望对大家有所帮助。 1 代码调试 1.1 打印输出 使用echo、var_dump 、print_r等方法在需要调试地方进行打印输出,通过输出特定变量的值可以判断程序执行是否正确。 1.2 使用debug_b…

VSCode+wampserver搭建PHP调试环境

1.下载vscode和wampserver Vscode下载地址: https://code.visualstudio.com/ Wampserver下载地址: https://www.wampserver.com/en/#download-wrapper 2.测试wampserver是否安装成功 双击打开WAMP,会在右下角的任务栏看到它的图标,如果是绿色代表OK, 其…

vscode使用xdebug3进行PHP调试

使用xdebug: 下载 Xdebug: Downloads 或在这里输入PHP的信息给出推荐的版本:Xdebug: Support — Tailored Installation Instructions 配置: 打开php.ini文件,在文件最后添加:(3.0的配置项有些改了&…

PHP 调试 - Xdebug

PHP 调试指南.pdf PHP 程序员的调试技术 根据要调试的对象的不同,采取的方法也不一样: 调试 web 应用:对于 web 应用,可以在浏览器中安装插件,或者在 IDE 中设置,下面的设置二选一即可。 Get/Post 请求…

php程序怎么调试,你是怎么调试PHP代码的

1.echo 这是最简单的输出数据调试方法&#xff0c;一般用来输出变量值&#xff0c;或者你不确定程序执行到了哪个分支的情况下使用。 $var 7; if (0 > $var) { // do something echo 1; }elseif (0 < $var && 5 > $var) { // do something echo 2; }elseif (…

vscode-PHP调试工具测试

[VS CODE] PHP调试环境配置步骤 STEP1 安装配置VS-Code-PHPSTEP2 安装配置XDebugSTEP3 配置VSCode调试器扩展 Wampserver32 整合部署环境&#xff0c;集成Apache服务器 MySQL PHP一体的服务器配置环境 Wampserver版本: 3.0.6 32bit PHP版本: PHP 5.6.25 XDebug Xdebug is…

vscode +phpstudy 搭建php调试环境

在进行php的学习过程中&#xff0c;需要结合具体的实操才能让自己更加深刻的理解代码&#xff0c;所以需要在自己本机搭建一个php的调试环境&#xff0c;进行调试。 这里用到的比较简单快捷的vs code加phpsutfy的方法在本地搭建调试环境。 需要用到的软件 vscode phpstudy v…

PHP调试输出的方法

PHP程序一旦出错调试是个问题&#xff0c;一般常规方法当然是用echo()函数直接在页面上输出&#xff0c;来查看变量的内容。但是这样很麻烦有些地方未必能显示调试内容。所以有大神想出办法用Google Chrome浏览器“审查元素”或者“检查”下的Console也就是控制台来显示PHP等服…

PHP调试简单方法

作为一个php新手&#xff0c;在遇到php语句错误的时候无所适从啊&#xff0c;因为没有用IDE不知道在哪里看错误信息啊&#xff0c;现在找到了一个不用修改php.ini的简单方法&#xff0c;用于调试错误&#xff0c;分享一下。 一开始测试php页面的时候发现内容木有显示&#xff0…

Visual Studio Code搭建PHP调试环境

使用Visual Studio Code搭建PHP调试环境 一.需要安装的软件 Visual Studio Code安装可以参照博文&#xff1a; https://blog.csdn.net/qq_34195507/article/details/94558862 WAMP(包括Apache、MySQL、PHP、以及最关键的XDebug) wampserver安装可以参照博文&#xff1a; …

Windows下搭建PHP调试环境(phpstudy+VScode)

Windows下搭建PHP调试环境&#xff08;phpstudyVScode&#xff09; 0x00 问题背景0x01 配套环境0x02 php Xdebug简介官方介绍&#xff1a;Xdebug扩展启用 0x03 php.ini配置0x04 vscode配置VScode下载安装VScode调试配置1. PHP Debug2. launch.json3. PHP SERVER创建调试4.FireF…

PHP开发程序调试

php程序如何调试&#xff1f; 一、PHP自带的调试功能 1、修改php.ini &#xff08;1&#xff09;开发环境 需要打开报错输出显示,方便开发者调试。 display_errors On &#xff08;2&#xff09;生产环境 不能直接将错误输出&#xff0c;而是记入日志&#xff0c;以免透…

IntelliJ IDEA 2019 配置 PHP 调试 xdebug 并进行测试

&#x1f4d6;摘要 今天分享下 —— IntelliJ IDEA 2019 配置 PHP 调试 xdebug 的一些基本知识&#xff0c;欢迎关注&#xff01; &#x1f302;分享 先创建一个php项目&#xff1a;传送门------>IntelliJ IDEA 2019 配置PHP开发环境 和 IntelliJ IDEA 2019 创建php项目 。 …

PHP 调试 - 方式

之前学 Java 的时候&#xff0c;一直使用 IDE 的 console 控制台进行调试。后来搞 PHP 后&#xff0c;习惯在代码里面 echo 和 exit&#xff0c;然后在浏览器刷新看效果&#xff0c;把单步调试、变量值查看等常用的调试方式给忘了。其实通过 IDE 集成的控制台进行调试更高效。 …

使用xdebug调试php详细教程 原创

下载xdebug扩展 将phpinfo()中的信息全部复制到Xdebug中的文本框中&#xff0c;如下图所示&#xff1a;点击“Analyse my phpinfo() output”按钮。 跳转到如下图所示页面&#xff0c;会对本机中的php进行分析&#xff0c;点击“Download php_xdebug-2.7.2-7.2-vc15-x86_64.dll…