在本地网络服务器(xampp)和php 7上设置Xdebug?

时间:2018-04-10 21:53:54

标签: php netbeans xampp xdebug netbeans-8

我尝试使用Xdebug开始多个小时但没有成功。

首先,我通过访问此official link确定了我需要的php_xdebug.dll版本,并按照他们的说明进行操作。

Summary
Xdebug installed: 2.6.0
Server API: Apache 2.0 Handler
Windows: yes - Compiler: MS VC15 - Architecture: x86
Zend Server: no
PHP Version: 7.2.3
Zend API nr: 320170718
PHP API nr: 20170718
Debug Build: no
Thread Safe Build: yes
Configuration File Path: C:\WINDOWS
Configuration File: A:\xampp\php\php.ini
Extensions directory: A:\xampp\php\ext
You're already running the latest Xdebug version
But here are the instructions anyway:

1. Download php_xdebug-2.6.0-7.2-vc15.dll
2. Move the downloaded file to A:\xampp\php\ext
3. Update A:\xampp\php\php.ini and change the line
   zend_extension = A:\xampp\php\ext\php_xdebug-2.6.0-7.2-vc15.dll
4. Restart the webserver

这是我的php.ini摘要:

[XDebug]
zend_extension="A:\xampp\php\ext\php_xdebug-2.6.0-7.2-vc15.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 = "A:\xampp\tmp"
xdebug.remote_log = "A:\xampp\tmp\xdebug\xdebug.log"
xdebug.idekey = "netbeans-xdebug"
xdebug.remote_autostart = on
xdebug.remote_connect_back = on

我相应地在netbeans中设置了portidekey(工具 - >选项 - > PHP - >调试)。

enter image description here

...我还确保项目正在使用设置(项目 - >属性 - >运行配置)

enter image description here

我重新启动了NetBeans和Apache。 我甚至安装了扩展程序" Xdebug helper"和" NetBeans Connector"。 Xdebug辅助扩展已配置并设置为调试模式。

现在我设置一个断点。但我得到了#34;等待连接(netbeans-xdebug)"右键单击源代码并单击"调试文件"后,它将永远加载。

enter image description here

我也无法点击调试按钮,它们都显示为灰色:

enter image description here

我总是使用以下参数调用目标网站,例如official documentation中指示:?XDEBUG_SESSION_START=netbeans-xdebug

我尝试了其他问题的不同解决方案,但没有任何帮助。

我已经尝试将php.ini中的行xdebug.remote_host更改为我的本地ipv4地址,但没有区别。我还测试了不同的端口。当然,我总是在更改php.ini中的内容后重新启动apache。

我使用的是Windows 10 Pro 64位和Chrome。

有什么想法吗?在此先感谢您的帮助!

更多:

我检查了防火墙,端口没有被阻止。

1 个答案:

答案 0 :(得分:1)

由于@ LazyOne的提示,我能够解决它。检查了我发现的日志后,netbeans试图连接到随机IP地址:

Log opened at 2018-04-10 21:14:12
I: Checking remote connect back address.
I: Checking header 'HTTP_X_FORWARDED_FOR'.
I: Remote address found, connecting to 74.84.178.15:9001.
E: Time-out connecting to client (Waited: 200 ms). :-(
Log closed at 2018-04-10 21:14:12

Log opened at 2018-04-10 21:17:27
I: Checking remote connect back address.
I: Checking header 'HTTP_X_FORWARDED_FOR'.
I: Remote address found, connecting to 212.112.65.234:9001.
E: Time-out connecting to client (Waited: 200 ms). :-(
Log closed at 2018-04-10 21:17:27

Log opened at 2018-04-10 21:19:22
I: Checking remote connect back address.
I: Checking header 'HTTP_X_FORWARDED_FOR'.
I: Remote address found, connecting to 57.101.242.52:9001.
E: Time-out connecting to client (Waited: 200 ms). :-(
Log closed at 2018-04-10 21:19:22

我立即知道这与chrome扩展ipflood有关,后者正在随机更改IP地址。禁用后它会起作用!