When using several PHP installations with phpfarm, installing PHP extensions is not always easy - mostly because Pyrus is very strict about package files - and many of the packages in PECL unfortunately have invalid non-validating package.xmls.
Getting the package
While you can download the tgz manually, you can use an existing PEAR installation to get it:
$ cd /opt/phpfarm/ $ pear download pecl/xdebug downloading xdebug-2.1.1.tgz ... Starting to download xdebug-2.1.1.tgz (303,198 bytes) ..............................................................done: 303,198 bytes File /opt/phpfarm/xdebug-2.1.1.tgz downloaded $ tar xzvf xdebug-2.1.1.tgz ...
Installation
The two things to remember are to use the correct phpize and php-config for the specific PHP version:
$ cd xdebug-2.1.1 $ /opt/phpfarm/inst/bin/phpize-5.3.6 Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626 configure.in:3: warning: prefer named diversions configure.in:3: warning: prefer named diversions $ ./configure --with-php-config=/opt/phpfarm/inst/bin/php-config-5.3.6 ... $ make ... $ make install ...
You need to enable the extension in your php.ini file now. Find its location with /opt/phpfarm/inst/bin/php-5.3.6 --ini.
If you installed xdebug, add zend_extension=/full/path/to/xdebug.so. Most others need just extension=xhprof.so - and make sure that extension_dir is set.