Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 等待连接到XDEBUG的Netbeans_Php_Netbeans_Xdebug - Fatal编程技术网

Php 等待连接到XDEBUG的Netbeans

Php 等待连接到XDEBUG的Netbeans,php,netbeans,xdebug,Php,Netbeans,Xdebug,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

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
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\u SESSION\u STOP附加到URL。我认为这与问题无关,因为Netbeans只在我关闭调试会话后打开页面


我还禁用了Ubuntu 13.04 64位php 5.4.9-4 Xdebug v2.2.3 netbeans 7.4上的SELinux 我有同样的问题,并已通过以下方式解决:
1.继续按照说明编译您自己的xdebug。因此
2.在netbean 7.4通用选项中(很抱歉,我没有发布图像) 测试连接。确保代理服务器上的设置正确: 对我来说,“没有代理”起作用。
3.在“php选项调试”选项卡中,将xdebug设置端口更改为除9001或9000以外的其他端口。 我选择9002,但您可以尝试,直到找到一个可用端口(如果端口不可用,请告诉您)
4.在php.ini中或为ubuntu用户在/etc/php5/conf.d/20-xdebug.ini中

zend#u extension=/usr/lib/php5/20100525/xdebug.so#您将重新编译的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\u output\u dir=“/tmp/”
xdebug.idekey=“netbeans xdebug”
xdebug.remote_log=“/home/#user_name#/xdebug.log”#您的用户名

五,。sudo服务apache2重启

完成此操作后,我可以再次调试php。

有相同的问题:

$ netstat | grep 9000
...
tcp6       1      0 localhost:9000          localhost:37486         CLOSE_WAIT
解决方案:重新启动NetBeans。 正在运行一个死进程,等待连接

这里是一个运行调试会话的Netbeans。请注意关闭等待时间等待

tcp6       0      0 localhost:9000          localhost:38166         TIME_WAIT 

我也有同样的问题,我尝试了很多我在那里发现的解决方案,但问题仍然存在。我已经试着按照书中描述的步骤去做了

而且,whttp://localhost/abc/trunk/abc/backend/web/?XDEBUG_SESSION_START=netbeans-xdebughen我调试我的项目时,我的netbeats仍在等待连接,直到我的url中有以下“XDEBUG\u SESSION\u START=netbeans XDEBUG”作为
因此,netbeans能够在Windows 10上与xdebug连接,netbeans 8.0运行内置于Web服务器的netbeans**

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

zend_extension='C:\php安装路径\ext\php\u xdebug-2.5.0-5.6-vc11.dll' xdebug.remote\u enable=on


对我来说,这个问题似乎可以通过使用.dll文件的完整路径来解决。另外,因为路径名中有空格,所以我必须用引号将路径括起来(double vs single似乎无关紧要)。此外,我还必须设置xdebug.remote_启用选项。一旦我设置了这两个选项,我就可以在Netbeans中选择Debug应用程序选项,调试器就启动了。

我遇到了一个类似的问题,在我的例子中,我最近更新了我的php版本,xdebug配置位于唯一的php5文件夹中。只需将旧的xdebug配置复制到新版本的新php.ini文件中,就可以像以前一样工作

调试此功能的一些提示包括:

  • 首先检查xdebug是否已安装,如果没有xdebug详细信息,则运行(php-v),然后安装并添加配置
  • 打开xdebug类别下的phpinfo(),检查是否加载了xdebug配置。检查以下设置。
    • 远程\u启用=打开,远程\u处理程序=dbgp

  • 为了让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"
    

    对于Xdebug v>=3

    如果您在尝试了以上所有答案后仍然面临问题。如果您有Xdebug版本>=3,那么请尝试我的步骤

    v3中的某些设置已更改

  • Xdebug的默认调试端口已从
    9000
    更改为
    9003
    。因此,在php.ini和netbeans IDE中对其进行更改
  • 在php.ini中
    • 添加
      xdebug.start\u时使用\u request=“yes”

    • 添加
      xdebug.client\u host=localhost
      。(旧的
      xdebug.remote\u host=localhost
      在v3中不再有用)

    • 添加
      xdebug.mode=debug


    谢谢莱昂纳多。我跳过了第1步(想知道我是否可以避免),结果成功了。返回并逐个测试每个更改,似乎只有端口阻止了连接。我尝试使用xdebug 2.2.1进行工作,因此您可以通过apt get install php5 xdebug查看它,但执行步骤1非常简单,因此您可以使用最后一个xdebug。我以前在我的pc中安装了nb 7.4,安装后,我发现以前的xdebug设置代理默认系统对于xdebug来说不再合适:我必须不使用代理!必须更改端口号。我做了同样的测试,以确定端口9001是否可用,但它们失败了。所以在我看来,最好尝试一个港口,直到成功:-)对于以后来的人,我在WAMP上,使用他们默认的PHP.ini,我需要做的唯一更改是:
    xdebug.remote\u enable=on
    xdebug.remote\u enable=on xdebug.remote\u host=localhost=on xdebug.remote\u我花了一点时间调试它,最后发现问题是当NetBeans启动xdebug时,它转到了一个htaccess这就搞砸了重定向。因此,将主机更改为导致它
    zend_extension="/usr/lib/php/20190902/xdebug.so"