我现在已经尝试了几个小时从xDebug(从源代码编译的2.0.5)在我的MacBook OS X上使用NetBeans 6.8。我已经安装了MAMP并且正在运行一个小的PHP(5.2)测试程序,没问题。但是当我尝试调试时,我在Netbeans中得到了这个文本:“等待连接(netbeans-xdebug)”,没有更多的事情发生。 Netbeans配置为调试器端口9000.MAMP中没有Zend优化。
我跟着这个:http://netbeans.org/kb/docs/php/configure-php-environment-mac-os.html#installEnableXdebug 和http://www.xdebug.org/docs/install 和http://forums.netbeans.org/topic1513-0-asc-0.html等
这是我的php.ini
的一部分[XDebug]
;zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
;[Zend]
;zend_optimizer.optimization_level=15
;zend_extension_manager.optimizer=/Applications/MAMP/bin/php5/zend/lib/Optimizer-3.3.9
;zend_optimizer.version=3.3.9
; Xdebug config for Mac OS X and NetBeans IDE
zend_extension=/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey="netbeans-xdebug"
我已阅读了很多安装说明等,phpinfo显示xDebug已安装为V.5.2.11(通过MAMP中的“打开起始页”看到)。但是当我在终端PHP -m中尝试时,我没有看到列出的xdebug。我终于想到从/ etc读取PHP.INI所以我将MAMP php.ini复制到那里的php.ini,从而在那里添加了xdebug.se,localhost,端口9000等信息。之后,当我执行PHP -m时,xdebug IS被列出,但我仍然遇到NetBeans问题。奇怪的PHP -i显示版本5.2.10,而不是上面的5.2.11!
我也试过这个,为idekey添加“netbeans-xdebug”:Why does xdebug not establish connection with NetBeans?
为什么PHP_INFO()似乎在../ MAMP / ...下找到我的PHP.INI文件而不是在从/ etc读取它时进行PMP -m?
如何让PHP始终在MAMP下找到INI文件,这样我就不必使用两个PHP.INI文件来使用PHPINFO()和PHP -m来工作?
如果xDebug似乎已正确安装但仍无法在NetBeans中运行,我如何解决NetBeans问题?这需要双php.ini吗?我可以编译xdebug错了,怎么知道?在xdebug / php中使用php版本的东西?怎么检查?
以下是php -i:
的部分结果xdebug
xdebug support => enabled
Version => 2.0.4
Supported protocols => Revision
DBGp - Common DeBuGger Protocol => $Revision: 1.125.2.6 $
GDB - GNU Debugger protocol => $Revision: 1.87 $
PHP3 - PHP 3 Debugger protocol => $Revision: 1.22 $
Directive => Local Value => Master Value
xdebug.auto_trace => Off => Off
xdebug.collect_includes => On => On
xdebug.collect_params => 0 => 0
xdebug.collect_return => Off => Off
xdebug.collect_vars => Off => Off
xdebug.default_enable => On => On
xdebug.dump.COOKIE => no value => no value
xdebug.dump.ENV => no value => no value
xdebug.dump.FILES => no value => no value
xdebug.dump.GET => no value => no value
xdebug.dump.POST => no value => no value
xdebug.dump.REQUEST => no value => no value
xdebug.dump.SERVER => no value => no value
xdebug.dump.SESSION => no value => no value
xdebug.dump_globals => On => On
xdebug.dump_once => On => On
xdebug.dump_undefined => Off => Off
xdebug.extended_info => On => On
xdebug.idekey => pettermagnusson => netbeans-xdebug
xdebug.manual_url => http://www.php.net => http://www.php.net
xdebug.max_nesting_level => 100 => 100
xdebug.profiler_aggregate => Off => Off
xdebug.profiler_append => Off => Off
xdebug.profiler_enable => Off => Off
xdebug.profiler_enable_trigger => Off => Off
xdebug.profiler_output_dir => /tmp => /tmp
xdebug.profiler_output_name => cachegrind.out.%p => cachegrind.out.%p
xdebug.remote_autostart => Off => Off
xdebug.remote_enable => On => On
xdebug.remote_handler => dbgp => dbgp
xdebug.remote_host => 127.0.0.1 => 127.0.0.1
xdebug.remote_log => /tmp/xdebug.log => /tmp/xdebug.log
xdebug.remote_mode => req => req
xdebug.remote_port => 9000 => 9000
xdebug.show_exception_trace => Off => Off
xdebug.show_local_vars => Off => Off
xdebug.show_mem_delta => Off => Off
xdebug.trace_format => 0 => 0
xdebug.trace_options => 0 => 0
xdebug.trace_output_dir => /tmp => /tmp
xdebug.trace_output_name => trace.%c => trace.%c
xdebug.var_display_max_children => 128 => 128
xdebug.var_display_max_data => 512 => 512
xdebug.var_display_max_depth => 3 => 3
RGDS PM
答案 0 :(得分:3)
How come PHP_INFO() seemed to find my PHP.INI file under ../MAMP/... and not when doing PMP -m when it is read from /etc ?
phpinfo()
使用MAMP的PHP二进制文件,而CLI使用您的操作系统。
How can I get PHP to always find the INI file under MAMP so I dont have to use two PHP.INI files to et PHPINFO() and PHP -m to work?
保持操作系统PHP不受影响,这样你就不会有升级问题,也可以根据需要调整MAMP上的问题。
How can I resolve the NetBeans problem now that xDebug seems to be installed correctly but still not working in NetBeans? Something with this need for dual php.ini? Could I have compiled xdebug wrong, how to know? Something with php versions in xdebug / php? How to check?
下载包含xdebug扩展程序的最新版MAMP,并将其添加到php.ini
。
zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_enable=1
xdebug.idekey="netbeans-xdebug"
xdebug.remote_log="/Applications/MAMP/logs/xdebug.log"
我使用端口9001,因为OSX似乎不喜欢默认设置。
答案 1 :(得分:0)
我从Komodo下载了错误的xDebug.so,不知怎的,我自己的构建也没有用。再次下载,现在可以了。哇,这花了我几个小时,没有人可以帮忙! / PM
答案 2 :(得分:0)
我检查并重新检查了所有设置和设置说明,但看起来XDebug似乎无法正常工作。最后我重新启动了我的Mac,它神奇地开始工作。也许这会帮助与我处于同一位置的人。
答案 3 :(得分:0)
这就是为我工作的
brew install php55-xdebug
抓住ini路径,然后将以下内容粘贴到最后一个
php -i | grep 'Configuration File'
vim /usr/local/etc/php/5.5/php.ini
添加以下内容
的zend_extension = “/ usr / lib中/ PHP /扩展/无调试非ZTS-20100525 / xdebug.so”
xdebug.default_enable = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host =本地主机
xdebug.remote_port = 9001
xdebug.remote_autostart = 1