Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Building/Installing XDebug on Mac OSX with MAMP

I'm having a problem building / installing XDebug on Mac OSX 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'. Next thing i tried is 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. Any help would be appreciated greatly. I can post any additionally information if it would be helpful to diagnose this problem.

like image 334
Dmitry Samuylov Avatar asked Jul 08 '12 01:07

Dmitry Samuylov


People also ask

How do I install an older version of Xdebug?

If you use pecl .. then you can use pecl install xdebug-2.9. 3 . For your apt-get you may try sudo apt-get install <package name>=<version> syntax, for example: sudo apt-get install xdebug=2.9.


3 Answers

Had the same problem, but found a better solution

xDebug is already in MAMP.

Check your php.ini

/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 server... DONE!

See: https://web.archive.org/web/20151107210347/http://danpolant.com/want-to-run-xdebug-mamp-is-the-easiest-way/

like image 190
Laurens Profittlich Avatar answered Oct 31 '22 08:10

Laurens Profittlich


I tried the above and i didn't quite work for me, so I Googled some more and here's what did the trick.

  1. Download and unpack the MAMP Components from SourceForge

  2. Make a note of the path(s) that were not found during the phpize process, for me it was:

    /Applications/MAMP/bin/php/php5.2.17/include/php/main/php.h
    
    /Applications/MAMP/bin/php/php5.2.17/include/php/Zend/zend_modules.h
    
    /Applications/MAMP/bin/php/php5.2.17/include/php/Zend/zend_extensions.h
    
  3. Create the required path in your MAMP php directory, again for me it was

    /include/php/
    
  4. Ensure the correct permissions on the directory

  5. Find the components for your target PHP version (in my case 5.2.17) and copy them into the path you created in step 3.

  6. Run the instructions for using the correct version of phpize from the Xdebug site

I hope that helps someone else as it took me waaaay too long to solve this!

like image 44
OpusDev Avatar answered Oct 31 '22 09:10

OpusDev


After more research and trial and error i managed to install it after doing the following things:

  1. In Terminal, I ran chmod u+x /Applications/MAMP/bin/php/php5.4.3/bin/* To open execute permission on phpize and everything else in that path
  2. Following this article to install command line tools
  3. Following this article to install the latest autoconf and related tools
  4. After that following the steps provided by the XDebug Wizard worked without a hitch

This was a major headache though. Hopefully this answer will save someone else a bit of time in the future.

like image 3
Dmitry Samuylov Avatar answered Oct 31 '22 09:10

Dmitry Samuylov