首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Xdebug:“启动当前打开的脚本”有效,但“侦听Xdebug”不起作用。使用VSCode、PHP8.0.11和WinNMP ():

Xdebug:“启动当前打开的脚本”有效,但“侦听Xdebug”不起作用。使用VSCode、PHP8.0.11和WinNMP ():
EN

Stack Overflow用户
提问于 2022-07-16 13:48:52
回答 3查看 379关注 0票数 0

使用VSCode时,当我在PHP文件中放置一个断点时,启动调试器并单击Run和Debug按钮,调试将按照预期的方式工作。执行在断点上停止,信息显示在左侧栏中。但是,当我使用"Listen“下拉(在创建了下面描述的launch.json文件之后)启动相同的进程,然后在我的浏览器中重新加载存在问题的PHP文件时,断点就会被忽略并加载网页。在过去,当此操作正常时,重新加载页面将触发调试,但在我重新安装VSCode和WinNMP之后,一些事情发生了变化,我不知道发生了什么。

我使用https://xdebug.org/wizard安装了Xdebug,并遵循了以下说明:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Download php_xdebug-3.1.5-8.0-vs16-nts-x86_64.dll
Move the downloaded file to ext, and rename it to php_xdebug.dll
Update D:\winnmp\conf\php.ini and add the line:
zend_extension = xdebug
Restart the webserver

我的Xdebug PHP.INI是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  zend_extension = xdebug
  xdebug.mode = debug

我添加了xdebug.mode行,因为这是Xdebug指示的步骤调试。

我删除了一个先前的launch.json文件,对于launch.json,我点击了Run >> prior,这生成了这个launch.json;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "configurations": [
    {
        "name": "Listen for Xdebug",
        "type": "php",
        "request": "launch",
        "port": 9003
    }
    ]
}

我使用Firefox Developer作为我的浏览器。刷新我在VSCode中打开的带有断点设置的网页对VSCode中的调试没有任何影响。我尝试在CMD窗口中启动Firefox:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"C:\Program Files\Firefox Developer Edition\firefox.exe" -start-debugger-server

也没有什么区别。我将launch.json更改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Firefox",
            "type": "firefox",
            "request": "attach"
        }
    ]
}

调试不受影响。

我已经安装了几个火狐扩展,依次是Xdebug、Xdebug和Zend-调试器工具栏。他们都没有任何效果。真正起作用的是安装了VSCode扩展,即火狐的调试器。在扩展的选项中,我将端口设置为9003,并输入了firefox.exe的绝对路径。完成此操作后,当我启动调试器时,Firefox请求获得连接到远程调试器的权限。我单击“是”,然后断点变成一个打开的灰色循环,如果刷新网页,则不会进行调试。

这是xdebug_info()中的打印输出。调试器=非活动似乎是错误的,但如果它实际上是错误的,我不知道该如何处理它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Version     3.1.5
Support Xdebug on Patreon, GitHub, or as a business
Enabled Features
(through 'xdebug.mode' setting)
Feature Enabled/Disabled    Docs
Development Helpers ✘ disabled  
Coverage    ✘ disabled  
GC Stats    ✘ disabled  
Profiler    ✘ disabled  
Step Debugger   ✔ enabled   
Tracing ✘ disabled  
Optional Features
Compressed File Support     yes (gzip)
Clock Source    GetSystemTimePreciseAsFileTime
Diagnostic Log
No messages
Step Debugging  Docs
Debugger    Not Active  
PHP
Build Configuration
Version (Run Time)  8.0.11
Version (Compile Time)  8.0.19
Debug Build     no
Thread Safety   disabled
Settings
Configuration File (php.ini) Path   no value
Loaded Configuration File   D:\winnmp\conf\php.ini
Scan this dir for additional .ini files     (none)
Additional .ini files parsed    (none)
Directive   Local Value Master Value    Docs
xdebug.mode debug   debug   
xdebug.start_with_request   default default 
xdebug.start_upon_error default default 
xdebug.output_dir   C:\Windows\Temp C:\Windows\Temp 
xdebug.use_compression  1   1   
xdebug.trigger_value    no value    no value    
xdebug.file_link_format no value    no value    
xdebug.filename_format  no value    no value    
xdebug.log  no value    no value    
xdebug.log_level    7   7   
xdebug.var_display_max_children 128 128 
xdebug.var_display_max_data 512 512 
xdebug.var_display_max_depth    3   3   
xdebug.max_nesting_level    256 256 
xdebug.cli_color    0   0   
xdebug.force_display_errors Off Off 
xdebug.force_error_reporting    0   0   
xdebug.halt_level   0   0   
xdebug.max_stack_frames -1  -1  
xdebug.show_error_trace Off Off 
xdebug.show_exception_trace Off Off 
xdebug.show_local_vars  Off Off 
xdebug.dump.COOKIE  no value    no value    
xdebug.dump.ENV no value    no value    
xdebug.dump.FILES   no value    no value    
xdebug.dump.GET no value    no value    
xdebug.dump.POST    no value    no value    
xdebug.dump.REQUEST no value    no value    
xdebug.dump.SERVER  no value    no value    
xdebug.dump.SESSION no value    no value    
xdebug.dump_globals On  On  
xdebug.dump_once    On  On  
xdebug.dump_undefined   Off Off 
xdebug.profiler_output_name cachegrind.out.%p   cachegrind.out.%p   
xdebug.profiler_append  Off Off 
xdebug.cloud_id no value    no value    
xdebug.client_host  localhost   localhost   
xdebug.client_port  9003    9003    
xdebug.discover_client_host Off Off 
xdebug.client_discovery_header  no value    no value    
xdebug.idekey   no value    no value    
xdebug.connect_timeout_ms   200 200 
xdebug.scream   Off Off 
xdebug.gc_stats_output_name gcstats.%p  gcstats.%p  
xdebug.trace_output_name    trace.%c    trace.%c    
xdebug.trace_format 0   0   
xdebug.trace_options    0   0   
xdebug.collect_assignments  Off Off 
xdebug.collect_return   Off Off 
EN

回答 3

Stack Overflow用户

发布于 2022-07-17 12:44:48

解决了!(在某种程度上)。我不知道为什么我的XDebug配置不能使用PHP8,但是我能够使用PHP7.4检索配置(感谢我最近安装的云版本备份软件)。下面是一些设置,通过在任何浏览器中刷新页面,在VSCode中为我提供了光荣的调试步骤。我将进行实验,看看是否可以将其应用于PHP 8,但目前一切都很好。我用文件比较软件检查了我拥有的php_xdebug.dll,并验证了它是这里列出的那个。

XDebug DLL:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
php_xdebug-3.1.5-7.4-vc15-nts-x86_64.dll

Php.ini:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
zend_extension = "php_xdebug.dll"
xdebug.mode = debug
xdebug.discover_client_host = 1
xdebug.start_with_request = yes
xdebug.client_port = 9000

Launch.json:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    "version": "0.2.0",
    "configurations": [

        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        }
       
    ]
}

已安装与代码扩展(如果重要的话):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Bookmarks, Live SAAS Compiler, Local History, PHP Debug, Prettier-Code formatter, Rainbow Brackets, Trailing Spaces.

Settings.json (如果重要的话):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
}
票数 1
EN

Stack Overflow用户

发布于 2022-07-17 13:11:00

上面提到的php.ini和launch.json设置确实与PHP8 (8.0.11)和XDebug.dll一起工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
php_xdebug-3.1.5-8.0-vs16-nts-x86_64.dll

请注意,https://xdebug.org/wizard中提供的说明如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Update D:\winnmp\conf\php.ini to have the line:
zend_extension = xdebug

这与我的安装(WinNMP-- https://winnmp.wtriple.com/)中获得成功所需的行有很大的不同。

票数 0
EN

Stack Overflow用户

发布于 2022-10-06 11:09:23

在我的情况下,什么也不起作用,因为我必须更改默认9003中的端口。所以,首先我在launch.json文件中更改我的端口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 11011
        },

在php.ini文件中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
zend_extension = xdebug //Remember this is your file name which you downloaded
xdebug.mode = debug,develop
xdebug.discover_client_host = yes
xdebug.log_level = 0
xdebug.log = "C:\WINDOWS\temp\log.txt"
xdebug.client_port = 11011
xdebug.start_with_request = yes
xdebug.idekey = VSCODE

不要忘记重新启动服务器,并通过phpinfo()在浏览器中验证所有这些配置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73007861

复制
相关文章
flex vue 垂直居中居上_flex 垂直居中、两列对齐、自适应宽[通俗易懂]
hahjdjjajdES6提供的Proxy可以让JS开发者很方便的使用代理模式,听说Vue
全栈程序员站长
2022/08/23
1.1K0
bootstrap 模态框垂直居中实现方法 原
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
1.2K0
div垂直居中的几种方式_div垂直水平居中
利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可。本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可。
全栈程序员站长
2022/08/03
4.1K0
div垂直居中的几种方式_div垂直水平居中
HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/05/22
5.3K0
HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」
Android 浏览器文本垂直居中问题
在开发中,我们常使用 line-height 属性来实现文本的垂直居中,但是在安卓浏览器渲染中有一个常见的问题,就是对于小于12px的字体使用 line-height 属性进行垂直居中的时候,渲染出来的效果并不是文字垂直居中,而是会偏上一些。举两个代码示例如下:
IMWeb前端团队
2019/12/04
9760
不确定行数的多行文本垂直水平居中的css
ul li { position:relative; display: table; width:3rem; height:3rem; background:url('image/defaultBg.jpg') 0 0/100% 100% no-repeat; float:left; margin-bottom:0.2rem; text-al
蓓蕾心晴
2018/04/12
1.4K0
VB的TextBox文本框实现垂直居中显示的方法
Form_Load()窗体代码中的多行属性设置必须为真,即Text1.MultiLine = True,该属性为只读属性,请在设计时修改,换行会被之后的代码屏蔽,不想屏蔽可自行修改,调用此函数就好了。
大师级码师
2022/11/06
2.9K0
Android 浏览器文本垂直居中问题
本文介绍了在Android浏览器上实现文本垂直居中的问题,并提供了两个解决方案:改变字体大小和用表格布局。通过测试,发现改变字体大小的方法并没有达到真正的垂直居中,而使用表格布局的方法则可以较好地实现文本垂直居中。
IMWeb前端团队
2017/12/29
1.7K0
Android 浏览器文本垂直居中问题
【前端攻略】最全面的水平垂直居中方案与flexbox布局
最近又遇到许多垂直居中的问题,这是Css布局当中十分常见的一个问题,诸如定长定宽或不定长宽的各类容器的垂直居中,其实都有很多种解决方案。而且在Css3的flexbox出现之后,解决各类居中问题变得更加容易了。搜了搜园子内关于flexbox的文章觉得很多不够详尽,故想借介绍flexbox的同时好好总结一番各类垂直居中的方法。由简至繁: 行内元素的水平居中     要实现行内元素(<span>、<a>等)的水平居中,只需把行内元素包裹在块级父层元素(<div>、<li>、<p>等)中,并且在父层元素CSS设置如
Sb_Coco
2018/05/28
1.4K0
元素垂直居中和水平居中的方法
前言 元素居中一直是css布局中常见的问题 正文 水平居中 内联元素 只需把内联元素包裹在块状父元素中,并在父元素css上设置:text-align:center; 此方法适用于文字、链接 块级元素 宽度一定的块级元素:只需设置左右外边距为auto,即:margin:0 auto; 多个块级元素 将要水平排列的块级元素设置display:inline-block;然后在父元素上设置text-align:center; 效果和内联元素水平居中一样 Flex布局 在父元素上设置:display:flex;jus
pitaojin
2018/05/24
1.8K0
元素的垂直居中的方法
单行文本的垂直居中 只需让元素的行高的值设置成和高度的值一样即可。如 height: 30px; line-height: 30px; 高度不固定的元素的垂直居中 使用 Flex 父元素加 display: flex; align-items: center; 然后就搞定了,很简单吧。 使用 table 布局 父元素加 display: table; /*让元素以表格形式渲染*/ height: 200px; /* 需要定宽,定高 */ width: 100px; 子元素加 display: table-
前端GoGoGo
2018/08/27
4760
css垂直居中怎么设置?文字上下居中和图片垂直居中
  css 居中分css垂直居中和css水平居中,水平居中平时比较常用,这里我们主要讲css上下居中的问题。垂直居中又分为css文字上下居中和css图片垂直居中,下面我们就分别来介绍一下。 css文字上下居中:一、单行内容的居中。只考虑单行是最简单的,无论是否给容器固定高度,只要给容器设置 line-height 和 height,并使两值相等,再加上 over-flow: hidden 就可以了。css代码为{height: 4em;line-height: 4em;overflow: hidden;}
ytkah
2018/03/06
7.6K0
水平居中和垂直居中
本章介绍几种常见的水平居中和垂直居中的实现方式 <!DOCTYPE html> <html> <head> <title>水平居中和垂直居中</title> <meta charset="utf-8"> </head> <style type="text/css"> .box { /* 在一个基础的盒子里面显示效果 */ position: relative; float: left; width: 250px; h
echobingo
2018/04/25
2.7K0
水平居中和垂直居中
垂直方向上下居中_如何实现垂直居中
这是最简单的方法,不仅能实现绝对居中同样的效果,也支持联合可变高度方式使用。内容块定义transform: translate(-50%,-50%) 必须加上
全栈程序员站长
2022/09/19
1.7K0
垂直水平居中
2.绝对定位计算:对子元素使用绝对定位,并分别移动上左50%,再分别margin-top:-50%height px,margin-left:-50%width px;
菜的黑人牙膏
2019/01/21
1.6K0
Css 垂直居中
在 CSS 中对元素进行水平居中是非常简单的:如果它是一个行内元素, 就对它的父元素应用 text-align:center; 如果它是一个块级元素,就对它自身应用 margin:auto。然而如果要对一个元素进行垂直居中,可能光是想想就令人头皮发麻了。
grain先森
2019/03/29
2.8K0
Css 垂直居中
css的div垂直居中的方法,百分比div垂直居中
我们都知道,固定高宽的div在网页中垂直居中很简单,相信大家也很容易的写出来,但是不是固定高宽的div如何垂直居中呢?我们在网页布局,特别是手机等web端网页经常是不固定高宽的div,那么这些div如何垂直居中呢?这篇文章,我总结一下。
Dawnzhang
2019/02/27
2.7K0
内容垂直居中
测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容
GhostZhang
2022/08/21
9950
CSS垂直居中
方案1 关键代码 父类: display: table-cell; vertical-align: middle; 示例: <style> .parent { width: 200px; height: 600px; background-color: blueviolet; display: table-cell; vertical-align: middle;
乐心湖
2020/07/31
3.4K0
垂直居中 原
垂直居中的方法很多,一般是设置line-height,display:table-cell,vertical-align:middle,或者transform:translate(0,-50%),最近看到也可以使用另一种方法实现垂直居中
tianyawhl
2019/04/04
9260

相似问题

开发Eclipse插件时的图形用户界面

136

当Eclipse索引器卡住时,我该怎么办?

411

当Conda找不到Python包时该怎么办?

136

当"which“函数找不到值时该怎么办?

10

图形用户界面+线程,图形用户界面退出线程停留->当图形用户界面再次启动时如何检测线程?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文