WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

VimでPHPのデバッグを行う(RedHat系ディストリビューション編)

      2012/12/12

xdebug のインストールと設定

xdebug のインストール

PECL で xdebug をインストールします。
PECL 自体がまだインストールされていない場合は、下記を参考に PEAR をインストールしてください。
http://linuxserver.jp/プログラミング/PHP/PEARのインストール.php

# pecl install xdebug

phpize というものが入っていないと、下記の様なエラーがでます。

# pecl install xdebug
WARNING: channel "pecl.php.net" has updated its protocols, use "channel-update pecl.php.net" to update
downloading xdebug-2.0.5.tgz ...
Starting to download xdebug-2.0.5.tgz (289,234 bytes)
.....................done: 289,234 bytes
67 source files, building
running: phpize
sh: phpize: command not found
ERROR: `phpize' failed

phpize は php-devel というパッケージに含まれているらしいので、php-devel ごとインストールします。

yum -y install php-devel

xdebug インストール後の php.ini 設定

xdebug をインストールした後は、 php.ini に以下の記述を加えます。

# vi /etc/php.ini
[zend]
zend_extension="/usr/lib/php/modules/xdebug.so"
xdebug.remote_enable=On
xdebug.remote_host=localhost

# /etc/init.d/httpd restart    ※設定を反映させるため、httpd を再起動
# php -m    ※下記のようにモジュールが表示されればOK
[Zend Modules]
Xdebug

Vim プラグイン “remote PHP debugger” のインストール

下記URLから debugger.tgz をダウンロードし、適当な場所に保存します。
http://www.vim.org/scripts/script.php?script_id=1152

保存が完了したら解凍し、ホームディレクトリ内のの .vim/plugin/ ディレクトリへ移動します。

# tar zxvf debugger.tgz
# cp plugin/* ~/.vim/plugin/

デバッグ方法

  1. デバッグしたいスクリプトを開き、 F5 を押します。
  2. F5 を押したらステータスバーに “aiting new connection in 5 sec.” と表示されるので、5秒以内にスクリプトが設置されているURLに”XDEBUG_SESSION_START”というパラメータを付加してアクセスします。
    例 : http://localhost/test.php?XDEBUG_SESSION_START
  3. アクセス後、Vim がデバッグモードになるのでデバッグを実施します。デバッグモードを終了する場合は F6 を押します。

詳しい方法やキャプチャは後日更新予定

 - PHP , , ,