Netbeans等待连接到XDEBUG

时间:2013-11-29 01:57:53

标签: php netbeans xdebug

Netbeans不会连接到xdebug。我尝试过以下帖子的建议:

Debugging IDE's port connection to XDebug: "Waiting to Connect"

netbeans shows "Waiting For Connection (netbeans-xdebug)"

但它不能解决我的问题。

似乎Netbeans连接到xdebug,因为在等待连接时,对Web服务器[Apache2]的所有请求都被阻止。端口[9001]似乎正在使用中:

roxy@Pixy011 ~ $ sudo nmap -sS -O 127.0.0.1

Starting Nmap 6.00 ( http://nmap.org ) at 2013-11-28 20:48 EST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000029s latency).
Not shown: 990 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
139/tcp  open  netbios-ssn
443/tcp  open  https
445/tcp  open  microsoft-ds
631/tcp  open  ipp
902/tcp  open  iss-realsecure
3306/tcp open  mysql
8080/tcp open  http-proxy
8081/tcp open  blackice-icecap
9001/tcp open  tor-orport   <---- Opened by java

xdebug.ini:[我已确认它已加载到phpinfo()]

zend_extension=/usr/lib/php5/20100525/xdebug.so

xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_mode="req"
xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9001
xdebug.idekey="netbeans-xdebug"

Netbeans配置:

Debugger port: 9001
Session ID: netbeans-xdebug
Stop at first line: Checked
All other options are unchecked

项目属性:

Host: 127.0.0.1
Port: 9001

编辑: 我注意到Netbeans没有将XDEBUG_SESSION_STOP附加到URL。我不认为这与问题有关,因为Netbeans仅在我关闭调试会话后打开页面。

我也禁用了SELinux

7 个答案:

答案 0 :(得分:26)

在Ubuntu 13.04 64bit php 5.4.9-4 Xdebug v2.2.3 netbeans 7.4
我有同样的问题并通过以下方式解决:
1.继续http://xdebug.org/wizard.php按照说明编译自己的xdebug.so
2.在netbean 7.4一般选项(对不起,我没有声望10发布图片) 测试连接。确保代理服务器上的设置正确: 对我说“没有代理人”正在发挥作用 3.在php选项调试选项卡中将xdebug设置端口更改为9001或9000以外的其他设置。 我选择9002,但你可以尝试,直到你找到一个自由端口(如果端口不是免费的,请告诉你) 4.在/etc/php5/conf.d/20-xdebug.ini中的 ubuntu用户的php.ini OR

  

zend_extension = / usr / lib / php5 / 20100525 / xdebug.so #where你把你的重新调整的xdebug.so发送到了   [Xdebug的]
  xdebug.remote_autostart = 0
  xdebug.remote_enable = 1
  xdebug.remote_handler = “dbgp”
  xdebug.remote_mode = “REQ”
  xdebug.remote_port = 9002#您已找到免费的端口并设置在上面的netbeans中   xdebug.remote_host = 127.0.0.1
  xdebug.profiler_enable = 0
  xdebug.profiler_output_dir = “/ TMP /”
  xdebug.idekey = “netbeans的-Xdebug的”
  xdebug.remote_log =“/ home / #user_name#/ xdebug.log”#your user name

5。 sudo service apache2 restart

执行此操作后,我可以再次调试php。

答案 1 :(得分:1)

让xdebug与Netbeans一起在virtualbox ubuntu机器上工作时,我面临着同样的问题。

PHP 7.4版

更改了以下文件

"/etc/php/7.4/apache2/conf.d/20-xdebug.ini"

并添加了以下几行

zend_extension="/usr/lib/php/20190902/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_log = "/var/log/xdebug.log"

请注意,以下行包含用于定义路径的双引号。

zend_extension="/usr/lib/php/20190902/xdebug.so"

答案 2 :(得分:0)

有同样的问题:

"?nocache=" + Math.random()

解决方案:重新启动NetBeans。 正在运行一个等待连接的死进程。

这里的Netbeans正在运行调试会话。请注意 CLOSE_WAIT TIME_WAIT

$ netstat | grep 9000
...
tcp6       1      0 localhost:9000          localhost:37486         CLOSE_WAIT

答案 3 :(得分:0)

我遇到了同样的问题,我尝试了很多我在那里找到的解决方案,但问题仍然存在。我试图按照enter link description here

中的步骤进行操作

enter link description here

那,whttp:// localhost / abc / trunk / abc / backend / web /?XDEBUG_SESSION_START = netbeans-xdebughen我调试我的项目,我的netbeats仍在等待连接,直到我必须有以下&#34;?的 XDEBUG_SESSION_START = netbeans的-Xdebug的&#34;在我的网址中 http://localhost/abc/trunk/abc/backend/web/?XDEBUG_SESSION_START=netbeans-xdebug 所以netbeans能够与xdebug连接

答案 4 :(得分:0)

**在Windows 10上使用Netbeans 8.0运行内置于webserver **的Netbeans

php.ini文件中的以下选项为我解决了这个问题:

zend_extension =&#39; C:\ php安装路径\ ext \ php_xdebug-2.5.0-5.6-vc11.dll&#39; xdebug.remote_enable =上

这个问题似乎可以通过使用.dll文件的完整路径来解决。另外,因为我在路径名中有空格,所以我必须用引号括起路径(双重与单一似乎并不重要)。另外,我必须设置xdebug.remote_enable选项。一旦我设置了两个选项,我就可以在Netbeans中选择Debug Application选项并启动调试器。

答案 5 :(得分:0)

我遇到了类似的问题,在我的情况下,我最近更新了我的php版本,xdebug配置是在唯一的php5文件夹中。只需要将旧的xdebug配置复制到新版本的新php.ini文件中,它就像以前一样工作。

调试它的一些技巧是:

  1. 首先检查xdebug是否安装,如果没有xdebug详细信息,请运行(php -v)然后安装并添加配置。
  2. 在xdebug类别下打开phpinfo()检查是否加载了xdebug配置。检查以下设置。
    • remote_enable = on,remote_handler = dbgp

答案 6 :(得分:0)

对于 Xdebug v>=3

如果您在尝试上述所有答案后仍然遇到问题。并且你有 Xdebug 版本 >=3 然后只尝试我的步骤。

在 v3 中更改了一些设置。

  1. Xdebug 的默认调试端口已从 9000 更改为 9003。所以在 php.ini 和 netbeans IDE 中更改它。
  2. 在 php.ini 中
  • 添加xdebug.start_with_request="yes"

  • 添加 xdebug.client_host = localhost 。 (旧的 xdebug.remote_host=localhost 在 v3 中不再有用)

  • 添加xdebug.mode=debug