PHPをEclipseで開発する
Eclipse PHP Webアプリケーションのデバッグ
上記のページでダウンロードしてきたEclipseでPHPスクリプトのデバッグは簡単にできますが、Webアプリケーションを作ってWebサーバーで動作させながらデバッグするためには、ちょっと設定が必要です。
ここでは、WindowsPCで、すでにXAMPPなどを使用して、PHPとWebサーバーが動作環境が出来上がってるとします。Webサーバーにデバッガを組み込む必要があります。
使えるデバッガはZend DebuggerとXdebugの2種類があります。一般的にはZend Debuggerがお勧めですが、Zend DebuggerとXdebugは一長一短があり場合によっては使い分けが必要になります。下記リンク先に比較調査記事がありました。
–http://www.xoops-ri.jp/blog+index.storyid+22.htm
-なお、Zend DebuggerとXdebugは共存できないので、切り替えにはphp.iniを編集してapacheを再起動する等の作業が必要になります。
ここでは、Zend Debuggerを組み込む方法について説明します。
サーバーの設定
デバッグのためのextensionをダウンロードします。
http://www.zend.com/en/products/studio/resources
上記のサイトZend Studio ResourcesのStudio Web Debuggerの下にあるDOWNLOADをクリックします。
Zend Extension Managerを使用しているかどうかで、Zend Debuggerの組み込み方が変わります。最近のXAMPPでは、デフォルトでZend Extension Mangerが組み込まれています。
Zend Extension managerを使用する場合
-ZendのサイトからダウンロードしたZipファイルを展開して、phpのディレクトリ以下にコピーします。
-dummp.phpをドキュメントルートに配置します。
-コピーしたディレクトリ名を、”C:\Program Files\xampp\php\ZendDebugger”に変更します。
-Zend Extension MangerはPHPのバージョンに合わせて対応するZend Debuggerのバージョンを切り替えてくれるのですが、Zendの配布形式ではこの機能がうまく動作しないので以下のようにディレクトリ名を変更する必要があります。
4_3_x_comp -> php-4.3.x
4_4_x_comp -> php-4.4.x
5_0_x_comp -> php-5.0.x
5_1_x_comp -> php-5.1.x
5_2_x_comp -> php-5.2.x
–5_2_x_nts_comp等は使用しないので、そのままでかまいません。
zend_extension_manager.debug_server_ts = "C:\Program Files\xampp\php\ZendDebugger"
zend_debugger.allow_hosts=localhost, 192.168.1.0/24
zend_debugger.expose_remotely=always
–zend_debugger.allow_hostsは、デバッグ対象のサーバーのIPアドレスをカンマ区切りで列挙します。
Zend Extension managerを使用しない場合
-Zendサイトからダウンロードしたファイルに含まれるZendDebugger.dllというファイルを、PHPのextensionディレクトリ内にコピーします。あるいは、Eclipseのディレクトリ内にあるZendDebugger.dllというファイルをコピーしてもかまいません。
例
;先ほどコピーしたZendDebugger.dllをフルパスで書きます。
zend_extension_ts="C:\Program Files\xampp\php\ext\ZendDebugger.dll"
;ここでは同じPCに入っているWebサーバーが例なので、下記のとおりです。
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always
Webサーバー(Apache)を再起動します。
phpinfo();などで、PHPの設定を見てみて、Zend Debugger の項目が追加されたことを確認しましょう。
ダミーファイルを仕込む必要があります。先ほどStudio Web Debuggerをダウンロードしてきた人は、その中にあるdummy.phpを、なければ下記のURLにあるコードをコピーして、dummy.phpという名前でWebサーバーのドキュメントルート(ここではC:\Program Files\xampp\htdocs)に保存します。
http://www.webtdo.com/dummyFile.php
Eclipseの設定
ここまで来たら、あとはEclipseの方の設定です。
EclipseのWindow→Preferencesから、PHP→PHP Executablesを選択します。
PHPの実行の設定がありますので、Webサーバーで動作する設定になっているPHPを設定します。
例
Executable path … C:\Program Files\xampp\php\php.exe
PHP ini file … C:\Program Files\xampp\apache\bin\php.ini
EclipseのWindow→Preferences→PHP→PHP Serversをクリックします。
Webサーバーの設定がちゃんとされているか確認します。
例
Server Name…Default PHP Web Server
Enter the URL that points to the document root of this server
…http://127.0.0.1
EclipseのWindow→Preferences→PHP→Debug→Installed Debuggersをクリックします。
Zend Debuggerを選択し、右横のconfigureをクリックします。
Client Host/IPに、127.0.0.1 と入れておきます。
Eclipseの操作画面に戻り、デバッグアイコンの右横の矢印をクリックし、Debug Configurationをクリックします。
左ベインの、PHP Web pageとあるサーバーのアイコンをクリックしながら、左上のNEWアイコンをクリックします。
この画面のなかほどにある、Test debuggerをクリックします。Successと表示されればデバッガの設定に問題はなく、エラーが出れば、エラー内容を見て治しましょう。
Debug Configurationの設定が終わったら、Applyをクリックして、Debugをクリックすれば、デバッグの始まりです。
お疲れ様でした! (でも本当に疲れるのはここから?!)
続き
Eclipse PHPWebアプリケーションのデバッグ2