前からやりたいなぁと思っていたのだけど上手いこと入れることが出来なかった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をインストールする。