PHP5.3系にxdebugをインストールする際のあれこれ

こんにちは、松野です。
今回はPHP5.3系にxdebugをインストールしようとする際の注意点について書きます。
以下、環境はCentOSの6系です。

通常、xdebugモジュールを追加する際にはpeclコマンドで簡単に行えます。
が、PHP5.3系でインストールしようとすると、下記のとおりエラーになりました。

#  pecl install xdebug
pecl/xdebug requires PHP (version >= 5.4.0), installed version is 5.3.3
No valid packages found
install failed
#

PHP5.4系以上が必要であるエラーが出力され、xdebugのインストールは行えません。
調べたところxdebug2.3.0からPHP5.3系をサポートしなくなったようです。

http://xdebug.org/ より引用

This release drops support for PHP 5.2 and PHP 5.3, and raises the default max nesting level to 256. It also fixes a bunch of issues as found in Xdebug 2.2.7.

なので、PHP5.3系で利用できるxdebug2.7.7をインストールします。

# pecl install xdebug-2.2.7
~ 中略 ~
install ok: channel://pecl.php.net/xdebug-2.2.7
configuration option "php_ini" is not set to php.ini location
You should add "zend_extension=xdebug.so" to php.ini
#

エラーなく完了しました。
次にPHPでモジュールを読み込むよう設定ファイルを作成します。
設定ファイルの書き方やsoファイルのパスは、環境や運用ポリシーによって変わってくると思うので適した内容を記載してください。
また、注意点としてzend_extensionは絶対パスでsoファイルのパスを記載しないとエラーになります。

# vi /etc/php.d/xdebug.ini
記載内容↓
zend_extension=/usr/lib64/php/modules/xdebug.so
#

# cat /etc/php.d/xdebug.ini
zend_extension=/usr/lib64/php/modules/xdebug.so
#

ここまでで設定は完了です。
PHPがxdebugモジュールを読み込んでいるか確認します。

# php -i |grep xdebug
/etc/php.d/xdebug.ini,
xdebug
xdebug support => enabled
~ 以下略 ~
#

# pear list -a
~ 中略 ~
Installed packages, channel pecl.php.net:
=========================================
xdebug  2.2.7   stable
#

読み込んでいることが確認できたら、Apacheを再起動して反映します。

# /etc/init.d/httpd restart
#

以上でPHP5.3系へのxdebugインストールは完了です。
何かのご参考になれば。

投稿者プロフィール

matsuno
基本を大事にしていきたいサーバーエンジニアです。