我的情况如果我在PHP ini中添加以下它不起作用
zend_extension_ts = “C:\ PHP \ PHP560 \分机\ php_xdebug-2.4.0rc4-5.6-vc11.dll”
但如果我补充一下
的zend_extension = “C:\ PHP \ PHP560 \分机\ php_xdebug-2.4.0rc4-5.6-vc11.dll”
它工作正常。
我有同样的问题。 为什么? 首先我安装了WAMP,感谢Netbeans,他们一起工作作为魅力。 后来我安装了XAMPP并且Localhost站点运行顺利,但NetBeans永远无法连接到XAMPP(netbeans-xdebug)。 与此同时,NetBeans与Wamp合作良好。
我的解决方案是回到Wamp。总比没有好。
我的电脑: Win-7-32,NetBeans-8.0.2,
wampserver2.5的Apache-2.4.9-的mysql-5.6.17-php5.5.12-32b
XAMPP-win32-5.6.8-0-VC11
选择要调试的特定浏览器:
添加这个对我有用:
xdebug.idekey=netbeans-xdebug
在对php.ini或xdebug.ini文件进行更改后,无论您如何运行Web服务器,请确保重新启动该Web服务器(例如: 的 服务httpd重启 强> 在CentOS上)或Apache不会接受你对该.ini文件所做的更改。
CentOS上的xdebug包是“phpXXu-pecl-xdebug”。
最近的Xdebugs上的默认值通常很好。只需要在Apache .ini文件中的某个位置正确获取这两个值:
xdebug.remote_enable=on xdebug.remote_host=[DNS entry that resolves to the IP4 of your debugger]
还要检查“windows”防火墙设置。
对我来说它没有用,因为我的LAN网络被宣布为“公共网络”。 在我将其切换到“工作网络”后,它工作正常。
在我的例子中,Apache日志显示了一条关于没有设置date.timezone的PHP警告。一旦我在php.ini中设置它并重新启动apache,Xdebug / netbeans就开始工作了。
date.timezone = America/Los_Angeles
这是PHP 5.5。
如果您的xdebug无法正常工作,请检查您的服务器日志:
$ sudo less /var/log/httpd/error_log
要检查连接,请使用以下命令:
$ sudo netstat -an
在netbeans上启动调试后,如果使用netstat命令,则可以看到xdebug的端口(可能是80):
tcp6 0 0 192.168.33.10:80 192.168.33.2:49901 ESTABLISHED
netbeans的端口是9000:
tcp 0 0 192.168.33.10:52024 192.168.33.2:9000 ESTABLISHED
您可以从此处更改xdebug的端口(从顶部菜单,工具 - >选项 - > PHP):
如果未建立连接,则很可能您的连接被防病毒程序或防火墙阻止。您可以在防病毒程序或防火墙中进行检查,并删除该块,因为它是一个安全的连接。
对于Ubuntu用户:
我花了好几个小时在这个页面上阅读了很多答案,其他人也喜欢这样的答案,没有人提到最终成为我的解决方案:
我的问题是所选端口需要匹配的三个地方。我的两个说9001和一个说9000.我把它们全部改为9000。
的 这就是问题,为什么Netbeans只会说'连接连接(netbeans-xdebug)'。 强>
3端口设置位置是:
php.ini
xdebug.remote_port=9000
我有同样的问题,并试图解决它几个小时。我终于找到了chrome扩展名 ipflood 它改变了标题,使它看起来像你正在使用代理,是原因。
ipflood
我禁用后它完全正常工作!
看一下这个: 根据外部请求在Netbeans中启动XDebug
另一种方法是打开一个新窗口:
尝试继续项目>运行配置>预先
并切换到默认值,检查它是否在浏览器中打开另一个窗口
当Netbeans启动调试会话时,它会启动两个监听器,一个在0.0.0.0:9000(系统具有所有IPv4 IP),另一个在IPv6接口上。
如果Netbeans和Web Server在同一系统上,理想情况下XDebug将配置为将数据发送回 127.0.0.1:9000 ,NetBeans将在其上监听(并且仅在每个会话中)...
127.0.0.1:9000
xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_autostart=0 xdebug.remote_connect_back=0
如果由于某种原因XDebug无法向其报告 127.0.0.1 或者Netbeans没有听 127.0.0.1 ,您可以配置XDebug将数据发送回 $_SERVER['REMOTE_ADDR'] 原始请求......
127.0.0.1
$_SERVER['REMOTE_ADDR']
xdebug.remote_connect_back=1
这样您就不必指定确切的IP(即,如上所述回答LAN IP: 192.168.1.5 )。这里的缺点是任何来源都可以连接。
192.168.1.5
如果你有进一步的麻烦,这......
xdebug.remote_autostart=1
...也将启动调试过程 的 所有 强> 请求,而不仅仅是具有正确的会话启动查询或cookie的请求。这里的缺点是所有请求都将启动调试数据收集和报告(使一切变慢,并生成更多数据)。
虽然从我收集的内容来看,Windows上的大多数“等待连接(netbeans-xdebug)”问题(使用XAMPP,Wamp-Server等)通常是Windows防火墙和McAfee(或其他防火墙和防火墙)的结果。 - 病毒软件)阻止连接...
资源: Netbeans“等待连接(netbeans-xdebug)”问题
尝试可以开始 php -i 在命令窗口中。重定向输出时出错
php -i
对我来说这是最终解决方案,因为我下载了错误的Xdebug版本
对我来说应该是: php_xdebug-2.1.2-5.3-vc6.dll
php_xdebug-2.1.2-5.3-vc6.dll
但我有: php_xdebug-2.2.4-5.3-vc9.dll 。所以发生了错误 php -i
php_xdebug-2.2.4-5.3-vc9.dll
E:\Programme\php>php -i > myOutputFromPhp
产量跟随ERROR
无法加载Xdebug - 它是使用配置API220090626,TS,VC9构建的 运行引擎是API220090626,TS,VC6
我有一个项目的问题,但不适用于其他项目。因此xdebug已正确配置,项目设置正常,但仍然无法正常工作。
所以我刚刚删除了包含项目设置的nbproject子目录,并使用现有源创建了一个新项目。这解决了我的问题。
在路由器上正确设置了php.ini文件,netbeans,端口转发之后,我仍然得到了“等待连接(netbeans-xdebug)”。我最终在netbeans页面上注意到了“别忘了设置output_buffering = Off在你的php.ini文件中“。
所以我检查了/etc/php/7.x/apache2/php.ini文件,确定它的值是4096.所以我重置output_buffering = Off并且它工作了!!!
希望这有助于某人,因为消息暗示它是连接错误而不是配置错误。
我花了很多时间试图获得最佳设置,这应该得到自己的回复,即使@Johnson T A是一个几乎正确的。
他说
xdebug.remote_host = 192.168.1.5 - 这是我系统的IPv4地址,我更改为此,因为我无法使用localhost和127.0.0.1进行调试。
嗯,不是每个人都可以使用私人地址,或者它可能是动态的,或其他东西。另外,在我的情况下,我患有 的 很长的等待时间 强> 在调试实际开始之前 - 每次30秒左右。那是不切实际的。
我敢肯定每个人都有这些问题 的 在Windows 7上 强> 或者。问题与名称解析和xdebug之间的混合有关。要克服它们,请确保:
xdebug.remote_enable
on
如果您希望能够使用两者进行调试 localhost 和 127.0.0.1 地址,开放 \Windows\System32\drivers\etc 并确保你有以下几行:
localhost
\Windows\System32\drivers\etc
127.0.0.1 localhost
确保第一行在它之前没有#,第二行确实有#。
我工作的php.ini部分(我不需要分析器,所以我禁用它):
[XDebug] zend_extension = "C:\xampp\php\ext\php_xdebug.dll" xdebug.profiler_append = 0 xdebug.profiler_enable = 0 xdebug.remote_enable = on xdebug.remote_handler = "dbgp" xdebug.remote_host = "localhost" xdebug.remote_port = 9001 xdebug.trace_output_dir = "C:\xampp\tmp" xdebug.remote_log = "C:\xampp\tmp\xdebug\xdebug.log" xdebug.idekey = "netbeans-xdebug" xdebug.remote_autostart = on xdebug.remote_connect_back = on
停止netbeans调试器。重启Apache。
我打赌你不会再忍受漫长的等待时间,也不会有调试器的奇怪行为。
说明: 在etc / hosts中,他们说“本地主机名称解析是在DNS本身内处理的”,无论出于何种原因,如果你没有在该文件中明确说明它,它与xdebug不兼容。明确地说它似乎没有什么坏处,并用xdebug解决了这个问题。但是,您还需要显式禁用localhost(:: 1)的sIPv6短符号,以便所有这些都能正常工作。不知道内部的原因,但triead所有的组合,这一个对我来说像一个魅力。
我是一名.Net程序员,也是PHP的新手。 最近我试图在我的机器(Windows)上托管一个开源的PHP应用程序。经过5-6天的斗争后,我将列出对我有用的步骤。
我卸载了之前安装的每个XAMPP和NetBeans,并继续进行全新安装。
这可能不是每个人的解决方案,但它对我有用,我希望它可以帮助某人。
安装XAMPP
安装netbeans for PHP。
打开IIS并停止它。它默认在端口80上运行。(我在端口80上运行XAMPP,即默认情况下,在其他端口上运行可能需要其他配置设置)
打开XAMPP控制面板并启动Apache。如果端口80是空闲的,则不会出现问题。
在浏览器中打开localhost应显示XAMPP主页。
打开 phpinfo() 左窗格中的链接并复制页面上的所有内容。 去: http://xdebug.org/wizard.php 并粘贴TextBox中的所有内容,然后单击Analyze my phpinfo output。它会显示适合您配置的Xdebug文件。
phpinfo()
下载给定的Xdebug dll并将其复制 C:\xampp\php\ext (Xampp是默认的Xampp安装目录)
C:\xampp\php\ext
转到XAMPP控制面板,单击Apache前面的Config按钮并选择 php.in ,
php.in
查找相似或类似的行,
; zend_extension =“C:\ xampp \ php \ ext \ php_xdebug.dll”
(分号意味着它被评论)
删除分号并使用刚刚复制的dll路径替换路径,如:
zend_extension = "C:\xampp\php\ext\php_xdebug-2.3.2-5.4-vc9.dll"
同样找行
; xdebug.remote_enable = 0 ; xdebug.remote_handler =“dbgp”
删除两行前面的分号并制作 remote_enable = 1
remote_enable = 1
xdebug.remote_enable = 1 xdebug.remote_handler = "dbgp"
重启Apache服务器。
复制您的网站代码 C:/XAMPP/htdocs/(your_website)/ 这意味着你的 index.php 应该在 C:/XAMPP/htdocs/(your_website)/index.php
C:/XAMPP/htdocs/(your_website)/
index.php
C:/XAMPP/htdocs/(your_website)/index.php
Open Netbeans选择New project - > PHP - >来自现有源代码的PHP项目,并选择刚刚在htdocs文件夹中复制的文件夹。 将其设置为在本地Web服务器上运行。
在第一行设置断点 index.php 和调试。
而已。
在各种不同的帖子上建议了其他设置,但上面提到的步骤对我来说非常合适。