views:

1203

answers:

1

I have now tried for hours getting xDebug (2.0.5 compiled from source) to work on my MacBook OS X with NetBeans 6.8. I have installed MAMP and am running a small PHP (5.2) test program with it, no problem. But when I try to debug I get this text in Netbeans: "Waiting for connection (netbeans-xdebug)" and nothing more happens. Netbeans is configured for Debugger Port 9000. No Zend Optimization in MAMP.

I have followed this: http://netbeans.org/kb/docs/php/configure-php-environment-mac-os.html#installEnableXdebug and http://www.xdebug.org/docs/install and http://forums.netbeans.org/topic1513-0-asc-0.html etc

Here is part of my 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"

I have read a lot of installation instructions etc and phpinfo show that xDebug is installed OK as V.5.2.11 (seen via "Open Start Page" in MAMP). However when i try in terminal PHP -m i do not see xdebug listed. I finally figured that PHP.INI is read from /etc so I copied the MAMP php.ini to php.ini there, thus added the xdebug.se, localhost, port 9000 etc info there. After that xdebug IS listed when I do PHP -m too, but I STILL get the NetBeans problem. Strange enough php -i shows version 5.2.10, not 5.2.11 as above!

I also tried this, adding the "netbeans-xdebug" for idekey: http://stackoverflow.com/questions/1946643/why-does-xdebug-not-establish-connection-with-netbeans

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 ?

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?

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?

Here is a part of the result from 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

A: 

I downloaded the wrong xDebug.so from Komodo and somehow also my own build was no good. Downloaded again and now its OK. Wow, this took me MANY hours, and no one could help either! /PM

Petter Magnusson