Search code examples
phposx-lionmampxdebug

Building and installing Xdebug on Mac OS X with MAMP


I'm having a problem building and installing Xdebug on Mac OS X with MAMP.

I searched online extensively so far and at the moment I am stuck on the part of Xdebug "Installation Wizard" that tells me to "Run: phpize" on the source code I downloaded.

When I run phpize I get the following message:

new-host-2:xdebug-2.2.0 Dima$ phpize

grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

If I do a which phpize I get:

new-host-2:xdebug-2.2.0 Dima$ which phpize
/usr/bin/phpize

This is not the version I want to use. I want to use the MAMP installed version of phpize I assume since I want to install Xdebug on the MAMP version of PHP. This is puzzling because I added the MAMP specific PHP bin path to my .bash_profile already into the $PATH variable.

If I run echo $PATH I get:

new-host-2:xdebug-2.2.0 Dima$ echo $PATH

/opt/local/bin:/opt/local/sbin:/Applications/MAMP/bin/php/php5.4.3/bin:/Users/Dima/.rvm/gems/ruby-1.9.2-p290/bin:/Users/Dima/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/Dima/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/Dima/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

The MAMP-specific PHP path shows up ahead of '/usr/bin'. The next thing I tried was running the MAMP-specific phpize providing it the entire path manually like so:

new-host-2:xdebug-2.2.0 Dima$ /Applications/MAMP/bin/php/php5.4.3/bin/phpize
-bash: /Applications/MAMP/bin/php/php5.4.3/bin/phpize: Permission denied

Now I checked for permissions on these files in Finder and it shows that I have full permission to read and write the files this folder. I am a little lost.


Solution

  • I had the same problem, but I found a better solution.

    Xdebug is already in MAMP.

    Check your php.ini file:

    /Applications/MAMP/conf/php5.x/php.ini
    

    Go all the way down. You will see

    [xdebug]
    ;zend_extension="/Applications/MAMP/bin/php5.X/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
    

    Change that into

    [xdebug]
    zend_extension="/Applications/MAMP/bin/php5.X/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
    xdebug.remote_enable=1
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
    xdebug.remote_handler=dbgp
    

    Restart the server... Done!

    See: Want to run Xdebug? MAMP is the easiest way…