Xdebug
デバッグにvar_dump()を多用してる今日この頃。
Xdebug なるものがどうも便利らしいとの情報。お試しで入れてみる。
Xdebug のインストール pecl コマンドを使うらしい。
pecl ってなんぞ
PECL(ピクル、PHP Extension Community Library)は、PHPで利用できる拡張ライブラリ(パッケージ)を提供しているサービス。
PECLで提供されるライブラリはCで記述されているため、PHPで記述されたPEARのライブラリよりも高速に動作する。PECLにより提供されるライブラリはPHPの拡張モジュールとしてインストールされる。
==== 中略 ===
PECLのインストール用には、PEAR同様に「pecl」コマンドが提供されている。インストール方法もほぼPEARと同じだが、インストール後に設定ファイル(php.ini)の「extension」でインストールしたモジュールを指定する必要がある点が異なる。
参照:wikipedia
Xdebug のインストール
…の前に、自分の環境では httpd-devel がなくてインストールに失敗した。
httpd-devel をインストール
sudo yum install httpd-devel
今度こそ Xdebug のインストール
sudo pecl install xdebug
こんな感じで完了ログが出る
Build process completed successfully Installing '/usr/lib64/php/modules/xdebug.so' Release Warnings ================ p install ok: channel://pecl.php.net/xdebug-2.2.3 configuration option "php_ini" is not set to php.ini location You should add "zend_extension=xdebug.so" to php.ini
php.ini の編集
まずコピーをとる。バックアップ大事やん。
cd /etc/ sudo cp -p php.ini php.ini.130930.bak
編集、修正
vim php.ini 933 [xdebug] 934 zend_extension = /usr/lib64/php/modules/xdebug.so
apache の再起動
sudo service httpd restart
Xdebug がインストールされたか確認
[riceplanting@localhost ~]$ php -v PHP 5.3.3 (cli) (built: Jul 12 2013 20:35:47) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
以上!
と、思いきや
var_dump() してみると、うまく表組みで表示されない
- テストコード
1 <?php 2 3 class Foo 4 { 5 public function hello() { 6 throw new \Exception(); 7 } 8 } 9 10 class Bar 11 { 12 public function hello(Foo $foo) { 13 $Foo->hello(); 14 } 15 } 16 17 $foo = new Foo(); 18 $bar = new Bar(); 19 $bar->hello($foo);
- 結果