PHPのXdebug絡みのエラーを修正する

#php, #xdebug

brew upgradeした後にphp -vしてみたら以下のようなエラーが発生した。

1
2
3
4
5
$ php -v
Failed loading /usr/local/Cellar/php54-xdebug/2.2.6/xdebug.so: dlopen(/usr/local/Cellar/php54-xdebug/2.2.6/xdebug.so, 9): image not found
PHP 5.4.37 (cli) (built: Jan 28 2015 00:52:03)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

xdebug.soが読み込めないらしい。
Xdebugのロード設定はどこに書いてあるか確認する。

1
2
3
4
5
6
7
$ php --ini
Failed loading /usr/local/Cellar/php54-xdebug/2.2.6/xdebug.so: dlopen(/usr/local/Cellar/php54-xdebug/2.2.6/xdebug.so, 9): image not found
Configuration File (php.ini) Path: /usr/local/etc/php/5.4
Loaded Configuration File: /usr/local/etc/php/5.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.4/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.4/conf.d/ext-apc.ini,
/usr/local/etc/php/5.4/conf.d/ext-xdebug.ini

ext-xdebug.iniの中に古いバージョンをロードしている設定が書かれているので、現在使用しているバージョンに書き換える。

ext-xdebug.ini
1
2
3
4
5
# vim /usr/local/etc/php/5.4/conf.d/ext-xdebug.ini
zend_extension="/usr/local/Cellar/php54-xdebug/2.2.6/xdebug.so"
zend_extension="/usr/local/Cellar/php54-xdebug/2.2.7/xdebug.so"

これでOK。