前からやりたいなぁと思っていたのだけど上手いこと入れることが出来なかったXdebug。
Xdebugを入れると例えばPHPでvar_dumpをしたときに、このようになっていたのが、



こうなります。便利。




改めてやり直してみたら意外にも上手く入ったので以下、メモしておく。

phpizeを使用するための設定

phpizeを使用するために環境変数を設定しておきます。
僕の場合シェルはzshなので以下の設定になります。

export PHP_AUTOCONF=autoconf
export PHP_AUTOHEADER=autoheader

ポイント

以前は「autoconf」「autoheader」にはバージョン番号を付記する必要がありましたが、現在は必要なくなっているようです。



インストール

ソース取得

cd local/src
wget http://www.xdebug.org/files/xdebug-2.0.5.tgz
tar zxvf xdebug-2.0.5.tgz

一応、最新版を確認しておくと良いと思います。執筆時点での最新版は2.0.5ですが、2.1.0のRC版もリリースされているようです。



configure

それぞれ環境によって色々あると思いますが、とりあえず以下の設定で行いました。

./configure --prefix=$HOME/local --exec-prefix=$HOME/local --with-php-config=/usr/local/bin/php-config --bindir=$HOME/local/bin --enable-xdebug

ポイント

「php-config」の場所はサーバ内のPHPバージョンによって変わります。多分現在はどのサーバでも、PHP5が設定されているんじゃないかと思いますが、バージョンを明示したい場合には以下のようにすると良いようです。

./configure --prefix=$HOME/local --exec-prefix=$HOME/local --with-php-config=/usr/local/php/5.2.13/bin/php-config --bindir=$HOME/local/bin --enable-xdebug



make

make

特に問題なし。



Makefileを書き換え

そのままmake install使用するとパーミッションで怒られるので、Makefileを以下のように書き換え。

#EXTENSION_DIR = /usr/local/php/5.2.13/lib/php/extensions/no-debug-non-zts-20060613
EXTENSION_DIR = /home/ユーザー名/local/lib/php/extensions/no-debug-non-zts-20060613



make install

make install

特に問題なし。

以上でxdebug.soがローカルエリアにインストールされます。



PHP.iniに設定を追加

コントロールパネルを開いて、PHP.iniを編集し、以下を追加しておきます。

zend_extension = /home/ユーザー名/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so

保存するとすぐに反映され、使用できるようになります。


めでたし、めでたし。





参考サイト

さくらのレンタルサーバにXdebugを入れる | u39 technik
きょうもぼへぼへちゃんがゆく : さくらのサーバにxdebugをインストールする。