其工作原理大概如下(搬运): IDE(如phpstorm)已经集成了一个遵循DBGp的Xdebug插件,当开启它的时候,会在本地开一个xdebug调试服务,监听在调试所设置的端口上,默认是9000,这个服务会监听所有到...另外,xdebug不是伴随着php的,要使用它,需要我们自行安装,可费劲er了。当然我们可以直接到docker hub上找现成的环境。 安装完xdebug你以为就结束了吗,没有!...xdebug xdebug.remote_enable = 1 经过上面的描述,你应该大概了解到其实php的调试是通过客户端、服务端经过DBGp协议通信来协调实现的 这也是为什么php支持远程调试的原因...,也没有关系,照样可以连接到我指定的ip地址上,这不就出大问题了吗 利用条件 xdebug.remote_connect_back = 1 //开启回连 并且此选项开启时,xdebug会忽略xdebug.remote_host...直接把客户端ip当作回连ip,也就是谁访问它,谁就是回连ip xdebug.remote_enable = 1 //开启xdebug xdebug.remote_log = /tmp/
要注意的是端口需要手动停止,单纯关闭XAMPP是不解决问题的。 另外旁边的Explorer打开后其中的htdocs是网站的根目录,phpMyAdmin是phpMyAdmin的根目录。...Xdebug安装 网上的说法是XAMPP是内置Xdebug的,其目录在打开Explorer的phpext中,文件名是php_xdebug开头的.dll文件,然而也许是自己的php版本是7.1的缘故,并没有发现这个文件...[xdebug] xdebug.remote_enable = On xdebug.remote_handler = dbgp xdebug.remote_host= localhost xdebug.remote_port...之后需要设置DBGp代理,在刚才的Debug选项下的DBGp Proxy中,IDKEY,端口值均与之前的设置保持一致(如PHPSTORM, 9002),由于是在本地所以Host值是http://localhost...这时点开phpstorm右上角电话样式的监听按钮,,访问网页的时候就会在设置的断点处停留,而打开DEBUG则可以看到更多的调试参数,至此xdebug也就设置完成了。
php_xdebug.dll" ;是否允许Xdebug跟踪函数调用,跟踪信息以文件形式存储,默认值为0 xdebug.auto_trace=1 ;是否允许Xdebug跟踪函数参数,默认值为0 xdebug.collect_params...%p" xdebug.remote_enable = 1 ;用于zend studio远程调试的应用层通信协议 xdebug.remote_handler = "dbgp" xdebug.idekey...二、验证安装成功 1、修改配置后重启 apache 服务 2、在 phpinfo()的输出信息中查看 xdebug 信息 ? ? ?...五、在项目中使用 XDebug 1、开启浏览器中的 xdebug 插件 ? 2、在 PHPStorm 中进行监听 ? 3、在项目中设置断点标记 ? 4、在浏览器中访问项目 ?...5、运行后发现会在断电处停止 ? 6、开始调试 F7 键:单步调试 Shift+F8:按区块调试 下方的调试面板会出现一下调试信息 ?
但不推荐在生产环境中使用xdebug,因为他太重了。...工作原理 IDE(如PHPStorm)已经集成了一个遵循BGDP的XDebug插件,当开启它的时候, 会在本地开一个XDebug调试服务,监听在调试器中所设置的端口上,默认是9000,这个服务就会监听所有到...xdebug.idekey string complex 控制哪些IDE Key Xdebug应传递给DBGp调试器处理程序。...自己找了,Xdebug将尝试连接到发出HTTP请求的客户端。...(Add method to skip list) 1,0 重新执行DEBUG (Resume Program) 2,0 停止DEBUG(Step process) 3,0 查看和管理所有的断点
首先在php.ini添加debug参数,默认监听本地9000端口,记得修改其中的so路径,windows需要在https://xdebug.org/download.php上面下载dll [xdebug...on xdebug.remote_enable=on xdebug.remote_enable=1 xdebug.remote_mode="req" xdebug.remote_log="/var/log.../xdebug.log" xdebug.remote_host="127.0.0.1" xdebug.remote_port=9000 xdebug.remote_handler="dbgp" xdebug.idekey...这里我以dvwa为例 先断点 ? 在我们进行文件上传时停在了断点处 ? ? 很清晰看到文件上传到哪了 ?...首先我们来看怎么获取到缓存目录的路径,我们只要进行文件上传操作时,都会生成缓存文件,然后路径实际上会在phpinfo上显示出来 ?
XDebug配置 3.1 php.ini文件配置修改 停止Apache服务,找到php安装目录下的php.ini文件,如果以记事本打开显示不够条理可使用subline打开,这样具有原本的格式,看起来条理清楚...=localhost xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.remote_autostart=off ?...保存文件,打开apache,这时候在CMD里输入 D:\xampp\php\php.exe -m 看到XDebug,说明开启成功。至此,服务器端配置完毕。 ?...在浏览器里打开XDebug工具,访问localhost,与phpStorm连接成功! ?...3打开你的 PHPStorm 并设置一个测试断点。如图 ? 4.依次打开 PHPStorm 中的 Run>Start Listening for PHP Debug Connections。
在建立PHP开发调试环境时,经常会遇到xdebug无法成功安装的问题,其实主要原因有两点: 1. xdebug版本和php版本不匹配 2.xdebug和 zend不能同时运行,需要在php.ini中禁掉...如果这项被设置为2, Xdebug将始终为变量信息和堆栈轨迹输出添加颜色, 不管它是否连接到一台打字机也不管ANSICON是否被安装. 在这种情况下, 你可能会停止转义代码....DBGp协议被各种客户端广泛支持 查看远程调试以获取更多细节....,Xdebug就将尝试连接到调试客户端。...jit只有当错误发生时,Xdebug才会尝试连接到调试客户端。
在CMD里输入 E:\php\php.exe -m 看到[Xend Modules]中出现如下字样Xdebug,说明开启成功。如下图 ? e. 至此,服务器端配置完毕。...注意:Xdebug就加载成功后,访问网站可能会会慢一些,原因是因为你开启了自动远程调试,每一次访问都会连接一下定义的ip和端口。 四、客户端配置: 1....看到右侧Xdebug选项卡,Debug port填9000,其他默认 ? 5. 点击进入File>Settings>PHP>Debug>DBGp Proxy 6....如果变为绿色,则为开启监听成功,如下图: ? 五、开始调试 1. 打开php文件 2. 设置断点,如下图: ? 3. 点击run>debug,或者按Alt+Shift+F9,如下图: ? 4....点击run>stop或者按Ctrl+F2,停止调试。
这儿的服务端和客户端都是相对的,因为一个客户端可能在和服务器通信后就变成了一个服务端,而服务端则在一次通信后就变成了客户端。...=dbgp xdebug.remote_host=localhost xdebug.remote_port=9000 通信方式解决后,我们便需要关注通信协议的问题。...xdebug使用的是一个叫dpgp的协议,其协议文档见https://xdebug.org/docs-dbgp.php。 这份协议文档虽然比较长,但是还算简单。...让代码运行起来,直到遇到断点或者运行结束 如果遇到断点,IDE可以向Xdebug询问一些变量值,堆栈信息,或者修改一些变量值等 我们再看下Xdebug文档中一段比较类似人通话的过程,它也展现了整个调试过程的样貌...这种触发行为分为两种,我会在之后做介绍。 网页此时一直处在等待状态,这表示Xdebug已经把PHP的执行过程给中断了。于是我们可以进行下步操作。
= 9010 ;用于远程调试的应用层通信协议 xdebug.remote_handler = dbgp ;是否开启调试内容 ;打开xdebug的性能分析器,以文件形式存储 xdebug.profiler_enable...= 1 2.2.7 查看Xdebug2.7.2扩展的安装 重点:添加配置文件后,重新启动服务,然后访问phpinfo.php文件,可以看到已经安装成功。...Proxy 打开PhpStorm,分别依次点击File | Settings | Languages & Frameworks | PHP | Debug | DBGp Proxy IDE kye保持和...Information处显示的信息全部打钩才算配置成功,否则可能配置有误,或者Xdebug版本有问题。 四、断点调试 整了那么多,咱们一起校验下断点调试咋玩。...4.1 创建php脚本 在项目中创建测试的脚本,此处还是使用phpinfo.php文件,然后在每行点击下,可以添加断点的行。 <?
在CMD里输入 E:\php\php.exe -m 看到[Xend Modules]中出现如下字样Xdebug,说明开启成功。如下图 ? e. 至此,服务器端配置完毕。...注意:Xdebug就加载成功后,访问网站可能会会慢一些,原因是因为你开启了自动远程调试,每一次访问都会连接一下定义的ip和端口。 四、客户端配置: 1....看到右侧Xdebug选项卡,Debug port填9000,其他默认 ? 5. 点击进入File>Settings>PHP>Debug>DBGp Proxy 6....如果变为绿色,则为开启监听成功,如下图: ? 五、开始调试 1. 打开php文件 2. 设置断点,如下图: ? 3. 点击run>debug,或者按Alt+Shift+F9,如下图: ? 4....点击run>stop或者按Ctrl+F2,停止调试。 来源微信公众号:SogouQA
\php-5.6.27-nts\ext\php_xdebug.dll" xdebug.auto_trace=1 xdebug.collect_params=1 xdebug.collect_return...%p" xdebug.remote_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_handler = "dbgp" xdebug.remote_host...中xdebug调试的配置,在vscode中没有用到 xdebug.idekey = phpstorm 3.在 phpinfo 中查看 xdebug 扩展的信息,验证是否开启成功 ?...3.设置断点(行号前点击即可出现红色小断点) ? 4.在浏览器中访问设置断点的程序 5.访问后会自动跳转到 VSCode,并显示出断点标记,并显示相关执行结果 ?...,会在选择后弹出错误提示) ?
插件 查看自己的php版本信息,下载对应的debug版本 配置php.ini 配置 vscode中phpdebug配置(一般不用设置默认端口9000) 下载插件: 2,查看自己的php版本所需的xdebug...= D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug-2.7.2-7.3-vc15-nts-x86_64.dll xdebug.remote_enable...= 1 xdebug.remote_autostart = 1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.romote_host...=localhost xdebug.remote_port=9000 vscode中 phpdebug 配置: port: 默认9000对应php.ini中 1 xdebug.remote_port...=9000 在指定的地方打断点,请求如果成功一定会在指定的地方断住,如果无效就是没有配置成功 代码写的太烂打个码,笑哭
这样Xdebug可以通过在配置文件中的配置信息连接到我们开启的端口。 def start_listen(self, param): if False == self....如果调用成功,则没有任何数据返回。如果调用失败,则会返回错误,比如待绑定的端口被占用时,会返回上述第四行的信息。我们通过返回信息中是否包含ERROR来判断该操作是否成功。 ...Xdebug提供的断点有多种方式,目前我测试的版本尚不支持watch类型,所以这种类型我们也不讨论。我们看下支持的类型: 行号断点。这种断点方式非常常见,就是我们需要设定文件路径和断点行号。...如果设置成功,则程序执行到该文件该行时将会被中断。 调用断点。这种断点需要设置被调用的函数函数名,它将使得程序中断在该函数被调用前。 返回断点。...我们通过返回值判断操作是否成功。
最初从网上找到相关教程配置成功了,后来升级php,浏览器崩了搞的debug不行,再配置怎么也不成功,准确的来说,网上的辣鸡贴子太多了,遇到点突发情况就行不通了。 自己研究了一下,于此记录。.../ext/php_xdebug.dll xdebug.collect_params=1 xdebug.collect_return=1 xdebug.auto_trace=Off xdebug.trace_output_dir...=9000 xdebug.client_port=9001 xdebug.remote_handler=dbgp xdebug.idekey = PHPSTORM PHP 其中xdebug.remote_enable...phpstorm配置 有两处,看下图 这个Debug port填写client_port xdebug浏览器扩展配置 注意选择phpstorm后点击保存 详细debug过程讲解 remote_port...这个是服务器也就是应用程序的代理端口 client_port这个是客户端也就是浏览器的xdebug扩展或者是本地的phpstorm代理端口 debug流程: 浏览器访问网站,如上图的localhost:
=xdebug.so重新启动Web服务器或PHP-FPM进程:shellCopy code$ sudo service apache2 restart现在,Xdebug扩展已经安装成功。...php// ...xdebug_break();// ...?>使用调试器(如Visual Studio Code的PHP Debug插件)连接到你的PHP代码,并设置断点。...运行包含调试断点的PHP脚本,调试器将会在断点处暂停执行。在调试器中,你可以通过单步执行、查看变量值等功能进行代码调试。使用Xdebug的性能分析功能进行代码分析。...然后,你可以使用支持Xdebug调试的IDE(如Visual Studio Code)进行远程调试。首先,确保你的IDE已正确配置并连接到远程服务器。...然后,在IDE中设置断点,然后通过Web浏览器访问index.php文件。Xdebug会将程序执行暂停在断点处,方便你检查变量值、执行单步操作等。 2.
安装成功后,我们可以通过命令窗口(cmd) 输入 composer --version 命令来查看是否安装成功: C:\Users\adong>composer --version Composer version...xdebug.remote_port=9003 xdebug.remote_handler=dbgp 最后我们启动服务查看phpinfo的信息。...下面是在vsCode中编写代码,并且打上断点。...之后我们开启debug模式,最终正常进入断点。...问题讨论 最有可能碰到问题就是按照上面的配置之后debug开启页面访问没有进入debug,个人的建议是多尝试修改Php.ini配置,注意配置路径是否正确,Vscode在Debug读取配置失败会在页面下面给出提示
图片 安装成功后,我们可以通过命令窗口(cmd) 输入 composer --version 命令来查看是否安装成功: C:\Users\adong>composer --version Composer...xdebug.remote_port=9003 xdebug.remote_handler=dbgp 最后我们启动服务查看phpinfo的信息。...图片 下面是在vsCode中编写代码,并且打上断点。...图片 之后我们开启debug模式,最终正常进入断点。...图片 图片 问题讨论 最有可能碰到问题就是按照上面的配置之后debug开启页面访问没有进入debug,个人的建议是多尝试修改Php.ini配置,注意配置路径是否正确,Vscode在Debug读取配置失败会在页面下面给出提示
show() } } 在app中设置断点,如下图所示: 调试,点下图的虫子标志 在提交了运行之后,程序会在断点处停止,等待单步调试,如下图所示: 点击step in...在spark-defaults.conf文件中添加以下配置: spark.driver.extraJavaOptions -Xdebug -Xrunjdwp:transport=dt_socket...,server=y,suspend=y,address=5005 spark.executor.extraJavaOptions -Xdebug -Xrunjdwp:transport=dt_socket...远程连接并调试 等spark进程挂起或者启动成功之后(根据suspend是y或者n来决定),在ideallij中设置断点,并启动刚才配置的远程连接,就可以连接到spark的jvm进程上,并进行远程的单步调试了...当你的断点停止在spark的api方法时,step in了,就有一个全新的技术世界为了敞开大门;step over了,你就一直是个码农。
PhpStorm 提供了强大的调试功能,这篇教程会教大家如何安装配置 xdebug,最终实现能够在浏览器实际运行程序时在断点处直接跳回 PhpStorm 进行调试。 1....学会安装配置 Xdebug 能够在浏览器运行实际代码时,在断点处跳回 PhpStorm 进行调试 2. 约定 下面的教程中 : 1....,我们使用 phpstrom 来调试,当 PHPSTROM 开启调试时,会启动一个端口号这个 xdebug 会连接到这个端口上。...是否配置成功,没有错误,表示配置成功了,关闭此窗口即可。...然后,我们最终目的是要在 PHPstorm 中设置断点,然后在浏览器中运行程序时,到断点处可以跳回到 Phpstorm 中调试,基于 chrome 浏览器,我们需要去chrome 商店下载一个 Xdebug
领取专属 10元无门槛券
手把手带您无忧上云