読者です 読者をやめる 読者になる 読者になる

肉とビールとパンケーキ by @sotarok

少し大人になった「肉とご飯と甘いもの」

#10.1 PECLとか使えるようにする(+ xdebugインストール方法)::VMWare×CentOS5 Windowsでカンタン開発環境

てへ。

ということで、#10 PHPのインストール・設定::VMWare×CentOS5 Windowsでカンタン開発環境 - 肉とご飯と甘いもの @ sotarokで大事なことを抜かしていたので、追記。
PECLで、xdebugをインストールしようとしたら、エラー出ました。それもそのはず、php-develをインストールしてませんでした!><

PECLxdebugインストールしようとするとエラーが出るの図

[root@five ~]# pecl install xdebug
downloading xdebug-2.0.2.tgz ...
Starting to download xdebug-2.0.2.tgz (279,621 bytes)
.....................................................done: 279,621 bytes
65 source files, building
running: phpize
sh: phpize: command not found
ERROR: `phpize' failed

ということで、php-develのインストール

[root@five ~]# yum install php-devel

PHP5.2.4をyumでインストールしちゃった人は、

[root@five ~]# yum --enablerepo=utterramblings install php-devel

にしないとエラー出ます。お、今やったら5.2.5にあがってた。
これで必要なものは色々インストールされます。

xdebugをインストールする

[root@five ~]# pecl install xdebug
downloading xdebug-2.0.2.tgz ...
Starting to download xdebug-2.0.2.tgz (279,621 bytes)
................................................done: 279,621 bytes
65 source files, building
running: phpize
Configuring for:

...

Build process completed successfully
Installing '/var/tmp/pear-build-root/install-xdebug-2.0.2//usr/lib/php/modules/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.0.2
You should add "extension=xdebug.so" to php.ini

自動的にビルドしてくれます。

php.ini に extension=xdebug.so を

といっても、/etc/php.ini を直接編集はしません。/etc/php.d/ほにゃらら.ini というファイルをすべて読んでくれる設定になっているはずなので、

[root@five ~]# vi /etc/php.d/xdebug.ini
extension=xdebug.so
xdebug.collect_params = On
xdebug.dump.GET = *
xdebug.dump.POST = *

というカンジにiniファイルを作成してイストール完了。設定項目は私もまだxdebugをちゃんと使っていないので、PHP 開発者の為の Xdebug のすすめを参照しました。
あとは、Apacheを再起動させ、phpinfoの項目にxdebugが追加されればOKです。


ついでにsyckとかもインストールするのだ(`・ω・´)

追記(xdebugのインストールに関して)

で。

使ってみると、エラーが出るわけです。

PHP Warning:  Xdebug MUST be loaded as a Zend extension in Unknown on line 0

なんぞこれーと思ってググったところ、mixiの新CTOの(ぉ)BTOさんのブログが。


まぁ、要するに、xdebugは、zend_extensionとしてロードしなきゃいけないんだと。そんならそうと、PECLでインストールしたときに「You should add "zend_extension=/path/to/xdebug.so" to php.ini」って書けよとか思いますが、そんなことは気にしない。気にしたら負けです。

そんなわけで、「/etc/php.d/xdebug.ini」を以下のように変更します。

zend_extension=/usr/lib/php/modules/xdebug.so

このzend_extensionに関しては、extension_dirのパスが通らないので、上記のように絶対パスに変更。
これでインストールは完了ということでした。