我做了3天的研究,并没有真正解决我的问题。
这是我在php.ini中的xdebug设置
xdebug.idekey="netbeans-xdebug"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1 # Not safe for production servers
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true
我注意到写这个问题的一件事是,即使我正在调试端口,当我将其设置为8000
时始终设置为9000
:
所以我想也许NetBeans指向错误的php.ini?我在test.php中运行phpinfo()
,它给了我这个:
现在我完全迷失了。我该怎么做才能让xdebug在NetBeans上运行?
编辑:我在NetBeans上使用内部网络服务器
编辑:事情开始进展但现在NetBeans给了我这个奇怪的输出:
"D:\bit_nami\php\php.exe" "-S" "localhost:9001"
[Tue Aug 08 02:42:38 2017] PHP Warning: PHP Startup: Unable to load dynamic library 'D:\bit_nami\php\ext\php_pdo_firebird.dll' - 占쏙옙占쏙옙占쏙옙 占쏙옙占� 찾占쏙옙 占쏙옙 占쏙옙占쏙옙占싹댐옙.
in Unknown on line 0
[Tue Aug 08 02:42:38 2017] PHP Warning: PHP Startup: Unable to load dynamic library 'D:\bit_nami\php\ext\php_pdo_oci.dll' - 占쏙옙占쏙옙占쏙옙 占쏙옙占� 찾占쏙옙 占쏙옙 占쏙옙占쏙옙占싹댐옙.
in Unknown on line 0
[Tue Aug 08 02:42:38 2017] PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
[Tue Aug 08 02:42:38 2017] PHP Warning: Module 'xdebug' already loaded in Unknown on line 0
[Tue Aug 08 02:42:38 2017] Failed to listen on localhost:9001 (reason: 액세스 권한에 의해 숨겨진 소켓에 액세스를 시도했습니다.
)
<br />
<b>Warning</b>: PHP Startup: Unable to load dynamic library 'D:\bit_nami\php\ext\php_pdo_firebird.dll' - 占쏙옙占쏙옙占쏙옙 占쏙옙占� 찾占쏙옙 占쏙옙 占쏙옙占쏙옙占싹댐옙.
in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>: PHP Startup: Unable to load dynamic library 'D:\bit_nami\php\ext\php_pdo_oci.dll' - 占쏙옙占쏙옙占쏙옙 占쏙옙占� 찾占쏙옙 占쏙옙 占쏙옙占쏙옙占싹댐옙.
in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>: Xdebug MUST be loaded as a Zend extension in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>: Module 'xdebug' already loaded in <b>Unknown</b> on line <b>0</b><br />
Done.
答案 0 :(得分:1)
您需要匹配端口三个不同的位置:
然后确保设置xdebug.remote_host或xdebug.remote_connect_back = 1。设置它们都不起作用。
建议对php.ini进行以下设置
[xdebug]
zend_extension=xdebug.so
xdebug.remote_enable=on
xdebug.default_enable=on
xdebug.idekey="netbeans-xdebug"
xdebug.remote_handler=dbgp
xdebug.remote_autostart=off
xdebug.remote_port=9001
xdebug.remote_host=localhost
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_name=xdebug-profile-cachegrind.out-%H-%R
xdebug.var_display_max_children = 128
xdebug.var_display_max_data = 2048
xdebug.var_display_max_depth = 128
xdebug.max_nesting_level=200
有关详细信息,请访问How To Configure XDebug
答案 1 :(得分:0)
我正在运行带有php和XDebug的Netbeans(在Windows / Apache上)。它工作正常。 (我还使用Netbeans内置Web服务器进行了检查)
我的php.ini的相关部分:
zend_extension=C:\Bitnami\wampstack-5.4.35-0\php\ext\php_xdebug-2.2.6-5.4-vc9.dll
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
在默认设置(使用内置服务器)中,浏览器通过端口8000与PHP内置服务器通信,PHP内置服务器通过端口9000与Netbeans调试器部件进行通信。
因此,在某些Windows系统上,您必须在php可执行文件的防火墙设置中打开/允许这两个端口。