Windows Vista + IIS7 での PHP デバッグ環境
IDEの選択肢としては Eclipse と NetBeans あたりがメジャーっぽいですが、Eclipse はプラグインが多すぎて悩みそうだったので NetBeans を使ってみました。
まずは、NetBeans 実行環境として JRE が必要なのでインストールします。
ダウンロードは下記URLから
http://java.sun.com/javase/ja/6/download.html
インストールされている場合も多いでしょうし、特にインストールで悩むことはないと思います。
次に、NetBeans のインストールです。
ダウンロードは下記URLから
http://www.netbeans.org/downloads/?pagelang=ja
PHPをサポートしたパッケージを選択します。
こちらもインストールで悩むことはないと思います。
Visual Studio に慣れた身としては、これでデバッグができると思ったのですが、実行やデバッグには実行環境が必要だったようです... orz
というわけで、実行環境を構築します。
実行環境は FastCGI で PHP がサポートされているので、これを使ってみたのですが、どうもデバッグがうまくできないため ISAPI を使って構築しました。ちなみに FastCGI での PHP 環境構築はちょうどタイミング良く下記ページに掲載されていましたので参考にしました。
IIS7 で PHP を使う方法 ~ FastCGI - プログラミング徹底解説
ISAPI での環境構築はいろいろなサイトで取り扱っているもののサイト毎に設定が異なりましたので、自分のやった方法を書いておきます。
PHPのダウンロードは下記URLから
http://www.php.net/downloads.php
Windows Binaries の PHP 5.2.9-1 zip package を今回は選択しました。
ISAPI で使う場合には Non-thread-safe でないものを選択します。
ダウンロードしたファイルを C:\PHP に解凍し、php.ini-dist のファイル名をを php.ini と変更し、内容を編集します。変更箇所は下記の通りです。いづれもコメントアウトされた記述がありますので、その行を編集します。
output_buffering = On
output_handler = mb_output_handler
default_charset = Shift_JIS
doc_root = "C:/InetPub/wwwroot"
extension_dir = "C:/php/ext"
extension=php_mbstring.dll
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none
次に IIS の設定です。
ISAPI フィルタの追加
ハンドラマッピングの追加 - スクリプトマップの追加を選択
追加時に下記メッセージが表示されますので、はいを選択
以上で実行環境の構築は完了です。
実行環境にはデバッグ環境は含まれていないようで、別途設定が必要です。
下記サイトにデバッグ用のモジュールである XDebug があります。
http://www.xdebug.org/
ダウンロードページは obtaining をクリックすると開きます。
ここで、PHP のバージョンに合わせたモジュールをダウンロードします。
上記 IIS7 で PHP を使う方法でインストールした方は、「Non-thread-safe」と書かれていないものを選びます。
バージョンはダウンロードした PHP のバージョンに合わせて選びます。3/28現在の安定版は 5.2.9 ですので、5.2 VC6 を選ぶと良いでしょう。
次に XDebug のインストールです。
ダウンロードしたファイルを C:\php\ext にコピーし、PHP.ini に下記のエントリを追加します。
[XDebug]
zend_extension_ts = "C:\php\ext\php_xdebug-2.0.4-5.2.8.dll"
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
これで設定は完了です。
NetBeans で PHP プロジェクトを作成し、ブレークポイントを設定してデバッグ実行するとブレークポイントで停止し、変数の内容などが確認できるようになりました。
FastCGI でのデバッグ実行ができていませんので、環境をさわっているところです。また進展がありましたらつづくかもしれません(^_^;)
| 固定リンク







コメント
eclipseほんとにプラグインありすぎ~です><
最初入れるときどれがどれなんだか分からなくて入れては削除とかしてました^^;
投稿: のん | 2009年4月 7日 (火) 12時16分