无法将Xdebug 3.0.2与NetBeans 12.2、PHP7.4、Ubuntu 20.04一起使用

无法将Xdebug 3.0.2与NetBeans 12.2、PHP7.4、Ubuntu 20.04一起使用,netbeans,xdebug,ubuntu-20.04,php-7.4,Netbeans,Xdebug,Ubuntu 20.04,Php 7.4,我想我都试过了,但我就是不能在Ubuntu20.04上将Xdebug与NetBeans一起使用,IDE底部会显示一条消息“等待连接(NetBeans Xdebug)” 如果我使用phpinfo(),我可以看到Xdebug已启用,下面是我的Xdebug.ini配置文件: zend_extension=xdebug.so xdebug.mode=debug xdebug.start_with_request=yes xdebug.discover_client_host=0 xdebug.clie

我想我都试过了,但我就是不能在Ubuntu20.04上将Xdebug与NetBeans一起使用,IDE底部会显示一条消息“等待连接(NetBeans Xdebug)”

如果我使用
phpinfo()
,我可以看到Xdebug已启用,下面是我的Xdebug.ini配置文件:

zend_extension=xdebug.so

xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.discover_client_host=0
xdebug.client_port=9000
xdebug.client_host=127.0.0.1
xdebug.remote_handler=dbgp
在NetBeans中,我在选项->PHP->调试中的设置是:

Debugger Port: 9000
Session ID : netbeans-xdebug
Maximum Data Length : 2048
Stop at First Line : unchecked
Watches and Balloon Evaluation : unchecked
Show Requested URLs : checked
Show Debugger Console : checked
我知道这个问题已经问过很多次了,但大多数都是老问题,没有一个答案是有效的。 这让我发疯,所以任何帮助都将不胜感激

--编辑:

以下是xdebug.log文件的内容:

[21406] Log opened at 2021-01-21 12:42:36.233357
[21406] [Step Debug] INFO: Connecting to configured address/port: 127.0.0.1:9000.
[21406] [Step Debug] WARN: Creating socket for '127.0.0.1:9000', poll success, but error: Operation now in progress (29).
[21406] [Step Debug] ERR: Could not connect to debugging client. Tried: 127.0.0.1:9000 (through xdebug.client_host/xdebug.client_port) :-(
[21406] Log closed at 2021-01-21 12:42:36.234607
这是xdebug_info()的输出:

PHP
构建配置
版本7.4.14
调试版本号
线程安全已禁用
设置
配置文件(php.ini)路径/etc/php/7.4/cli
加载的配置文件/etc/php/7.4/apache2/php.ini
扫描此目录以查找其他.ini文件/etc/php/7.4/apache2/conf.d
附加的.ini文件解析为/etc/php/7.4/apache2/conf.d/10-mysqlnd.ini,/etc/php/7.4/apache2/conf.d/10-opcache.ini,/etc/php/7.4/apache2/conf.d/10-pdo.ini,/etc/php/7.4/apache2/conf.d/15-xml.ini,/etc/php/7.4/apache2/conf.d/20-calendar.ini,/etc/php/7.4/apache2/conf.d/20-cil,1/3/3/3/3/3/3/4/4/4/4/4/3/3/7/4/7/4/7/4/7/4/4/7/4/4/4/2/2/2/20-4/2/20-4/7/7/7/7/7/7/7/7/7/7/4/7/4/4/7/4/4/4/7/4/4/4/4/4/4/4/4/4/4/4/4/4/2/2/2/20-4/20-4/20-4/7/20-4/20-4/20-4/20-4/7/4/4/7/7/7/7/7/7/7/7/7/7/4/4/4/7/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4,1/3/3/3/3/3/3/4/3/3/3/3/3/3/4/4/4/4/4/4/4/4/4/4/4/4/4/4/2-2/20-4/20-4/20-4/20-4/2/7/7/7/7/4/4/7/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/2/2/2/2/2/7/7/7/7/7/7/7/7/7/7/7/4/7/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4 shmop.ini,/etc/php/7.4/apache2/conf.d/20-simplexml.ini,/etc/php/7.4/apache2/conf.d/20-sockets.ini,/etc/php/7.4/apache2/conf.d/20-sysvmsg.ini,/etc/php/7.4/apache2/conf.d/20-sysvsem.ini,/etc/php/7.4/apache2/conf.d/20-sysvshm.ini,/etc/php/7.4/apache2/conf.d/20-tokenizer.ini,/etc/apache2/php/eb/7.xdmi,/etc/php/7.4/apache2/conf.d/20-xmlreader.ini,/etc/php/7.4/apache2/conf.d/20-xmlwriter.ini,/etc/php/7.4/apache2/conf.d/20-xsl.ini
指令本地值主值文档

xdebug.mode debug debug这只是一个黑魔法,但无论如何,它是有效的。非常感谢

如果它能帮助任何人,我已经将xdebug.idekey添加到我的.ini文件中并使其运行:

  • 在Netbeans中,我单击“调试项目”按钮,它开始等待xdebug
  • 在我的浏览器(Chromium)中,我必须手动启动url才能开始调试

  • 我尝试使用Firefox而不是Chromium进行调试,它工作正常。

    1)显示
    phpinfo()
    输出的整个Xdebug部分(或
    Xdebug\u info()
    \u以与您尝试调试相同的方式捕获(网页或CLI——这很重要)2)启用Xdebug日志(不要将它指向tmp文件夹,使用类似于
    /var/log/…
    的东西,因为Ubuntu上的临时路径是每个应用程序/进程虚拟化的),尝试调试,然后共享日志——它会告诉你它尝试连接的位置(如果有)谢谢@LazyOne,我已经更新了我的帖子。你的Xdebug配置还可以。无论如何,试着添加
    Xdebug.idekey=“netbeans Xdebug”
    (可能这对netbeans很重要)。您的问题是:根据日志,没有人在该端口上侦听。我不是NetBeans用户,因此无法确切说明您需要执行的操作…但请仔细检查NetBeans是否在该TCP 9000端口上侦听(例如,使用
    netstat
    或类似方法查看)。这应该在启动调试后进行检查(单击“调试文件”)或者类似的按钮(我猜是check和更高版本或类似的指南——我使用的是PhpStorm,但有点不同),我们需要更多信息。您的Netbeans是否与您的服务器在同一台机器上运行?