Compiling & installing Xdebug for PHP 5.2.5 (Entropy.ch build) on OS X 10.5
http://alexander.kirk.at/2008/12/26/debugging-php-on-mac-os-x/
http://www.designified.com/blog/article/60/compiling-installing-xdebug-for-php-525-entropych-build-on-os-x-105
看起來很複雜,要自己編譯xdebug的sourcecode,然後才能安裝
The solution is a combination of Xdebug and
MacGDBp.
Following on from my previous post detailing
Installing Xdebug for PHP (Entropy.ch build) on OS X, this post deals with compiling and installing xdebug 2.0.2 for
PHP Version 5.2.5 (www.entropy.ch Release 6) on OS X 10.5.2 Mac Pro 64-bit (2 x Quad-Core Intel Xeon).
The instructions below are a composite of those in the Xdebug
README and the user ‘pilif/Philip’ on the entropy forums who posted the
CFLAGS settings used to compile Xdebug for x86 64bit architecture (see the post here – thanks Philip!)
The standard release of Marc Liyanage’s
PHP Apache Module may not work under OS X 10.5, depending on the architecture of the processor – you will know if you get the error message “The following install step failed: run postflight script for Entropy
PHP. Contact the software… “.
Marc has been hard at work compiling an updated 4-way binary and trying to get all the dependencies and packages working – the latest version which I am using (works fine) and which this tutorial is based on is
Leopard: PHP 5.2.5 Release 6 BETA
The binary distribution of Xdebug from Activestate which I was using previously won’t work with this version of
PHP (I believe I am right in saying it will only work on a 32bit architecture but I may be well wrong) so it needs to be complied from source – luckily it’s pretty easy to do!
First off we need to make sure PHP 5.2.5 from the Entropy site is installed and working, and that the install directory is /usr/local/php5/
Next we need to make sure it is using a php.ini file (probably located at /usr/local/php5/lib/php.ini – if not make a copy of the ‘php.ini-recommended’ file and rename it ‘php.ini’).
We need to make sure that errors are set to be displayed in the ini file (display_errors = On
and
error_reporting = E_ALL
).
The OS X developer tools must be installed (either from the Leopard install disk or the disks which came with the computer).
- Run a phpinfo() page up on the local web server and find the ‘extension_dir’ entry (in the Configuration ->
PHP Core section) – copy that value down (it will be something like /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/)
- Download the source code from http://xdebug.org/
- In the terminal, cd into the directory which the source code tar file is in
- Unpack the tarball:
tar -xzf xdebug-2.0.2.tgz
- cd into the unpacked directory:
cd xdebug-2.0.2
- Run phpize (using the phpize installed with the Entropy distribution, not the one installed by
OSX): /usr/local/php5/bin/phpize
- Configure:
CFLAGS='-arch x86_64' ./configure --enable-xdebug
- Run make:
make
- Copy the compiled module to the directory you determined in step 1 (replacing the directory shown here with your one if it is differant):
cp modules/xdebug.so /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
Open your php.ini file (for the Entropy version it is at /usr/local/php5/lib/php.ini) and add the following:
[xdebug]zend_extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so
(obviously substitute your extensions directory path from stage 1 if it isn’t the same as mine)
- Restart the web server
- Reload the phpinfo() page and look for the ‘Xdebug’ section – if all is working it should show up along with a whole bunch of directives