Locked History Actions

php/debug

デバッグ方法

Eclipse-PDTでのPHPのデバッグ

以下は一つのLinux-BOX中でapache/PHP/Eclipse-PDTを使い、PHPプログラムをデバッグ/開発するための環境作成方法。 apache/phpが普通に動作する環境設定は終了しているものとする。OSはCentOS 4.8。

Eclipse-PDTのインストールとPHPプログラムの用意

Eclipse-PDTをインストールする。プロジェクトを作成してそこに対象とするPHPソースを格納する。

apacheの設定

簡単のためにドキュメントルートを先のプロジェクトとする。apacheがアクセス可能なように権限を設定する。

phpの設定

通常のPHP環境に加えてPHPデバッグ用の設定が必要になる。まずはphp-devel, php-pearをyumでインストールする。 ここではxdebugを選択する。「pecl install xdebug」でxdebugをインストールする。 /etc/php,dディレクトリ内に「xdebug.ini」というファイルを作成し、以下を既述。

zend_extension=/usr/lib/php4/xdebug.so
xdebug.collect_params = On
xdebug.dump.GET = *
xdebug.dump.POST = *

xdebug.remote_autostart=off
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000

ただし、zend_extensionはPHPのビルド状態によってzend_extension_tsなどとしなければならないこともある。

「php -v」とすると、以下の表示。

PHP 4.3.9 (cgi) (built: Jan 13 2010 18:43:22)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
    with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans

また、PHPプログラム中のphpinfo()での表示でxdebugが有効になっていることを確かめること。

Eclipse-PDTでのデバッグの開始

JDTでJavaプログラムのデバッグを行なう場合と全く同様に、PDTでもPHPプログラム中にブレークポイントを置くことができる。 もしブレークポイントで止まらない場合は、PDTのデバッグ設定か、xdebug/PHPの設定に間違いがある。

PDTでのデバッグ設定では、「Server Debugger」を「XDebug」とすること。

参考資料