i2i無料WEBパーツ
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
PHPでもJavaの開発と同じようにEclipseでデバッグが使えんとエラーの原因が良くわからん・・・(汗
そんな訳でいまさらながらデバッグ環境を整えてみた・・・(・_・;)
Eclipse Ver3.4.1+PDT+Zend Debbugerの組合せをチャレンジしたのですが、いやぁ~これがなかなか古い情報が多くて大変でしたわ・・・。

■環境
 ・Eclipse Ver3.4.1
 ・PDT Ver2.0.0
 ・PHP Version 5.2.9
 ・Zend Debugger v5.2.15

■前提
 ・XAMPPインストール済み
 ・Eclipse+PDTインストール・日本語化済み

■手順
 1)Zend Debugger v5.2.15のダウンロード
   ・以下のページからZend Debugger v5.2.15をダウンロードしてきます。
   ダウンロードするファイルはZendDebugger-5.2.15RC1-cygwin_nt-i386.zipですね。
   Index of /pdt/server-debugger
   02debugger_download.jpg

 2)Zipの解凍
   ・ZendDebugger-5.2.15RC1-cygwin_nt-i386.zipを解凍し、5_2_x_compフォルダコピーします。

 3)ZendDebugger.dllを配置するフォルダーの作成と配置
   ・C:\xampp\php\zendOptimizer\libにDebuggerフォルダーを作成し、2)でコピーしたファイルを貼り付けphp-5.2.xにリネームする。
   03exproler.jpg

 4)php.iniの修正
   ・C:\xampp\php\php.iniに下記の記述を追記します。xamppインストール時に設定してある項目はすべて";"でコメントアウトしなければデバッガーが認識されませんでした・・・正しいかどうかは微妙ですが。

   [Zend]
   ;zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
   ;zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
   ;zend_optimizer.enable_loader = 0
   ;zend_optimizer.optimization_level=15

   zend_extension_ts="C:\xampp\php\zendOptimizer\lib\Debugger\php-5.2.x\ZendDebugger.dll"
   zend_debugger.allow_hosts=127.0.0.1
   zend_debugger.deny_hosts = all
   zend_debugger.expose_remotely = always

   04php_ini.jpg


 5)apacheのC:\xampp\apache\conf\httpd.confの修正
・httpd.confにプロジェクトのパスを追加します。

   Alias /debugtest "C:\project\php-example\debugtest"
   <Location /debugtest>
   Order deny,allow
   Allow from all
   </Location>

最新のPDTには「Publish Projects to this Server」って設定がないのですが変わりにhttop.confに上記の記述が必要ってことみたいです。いやぁーここは嵌りました(つ_・。)

 ※ひとり2ちゃん-Eclipse で PHP PDTを参考にしました。ありがとうございます^^

 6)Apache再起動
   ・Apacheを再起動します。

 7)phpinfo.phpでデバッガーが認識されたか確認します。
   ・http://localhost/xampp/にアクセスしXAMPPの画面からphpinfoをクリックします。
   ・Zend engineの項目に【with Zend Debugger v5.2.15, Copyright (c) 1999-2008, by Zend Technologies】が追加されていればOKです。

Zendデバッグ

 8)Eclipse PDTの設定-実行可能ファイルの設定
   ・Eclipseにおいてウィンドウ>設定で設定サブウィンドウを開き、PHP-PHP実行可能ファイルを選択します。
   ・追加ボタンをクリックし以下の内容を入力しOKボタンをクリックします。

    名前:php(適当でOK)
    実行可能ファイル・パス:C:\xampp\php\php.exe
    PHP iniファイ:
    PHP デバッガー:Zendデバッガー

   07PDT_PHP実行可能ファイル

  ※最新のPDTには「Publish Projects to this Server」のチェックボックスがありません。古い手順を参考にしている人は注意です!

 9)Eclipse PDTの設定-サーバー
   ・設定サブウィンドウを開き、PHPサーバーを選択します。
   ・新規もしくは編集ボタンで下記のように設定します。

    名前:Default PHP Web Server
    ドキュメントルート:http://localhost/
   xxPDT_PHPサーバー_サーバー
   パスマッピングタブはデバッグ時に自動的に追加されているような気が・・・設定しなくていい気もしますが一応載せておきますね。
   xxPDT_PHPサーバー_パス・マッピング

 10)Eclipse PDTの設定-デバッグ
   ・設定サブウィンドウで、PHPデバッグの情報を入力します。
    
    PHPデバッガー:Zendデバッガー
    サーバー:Default PHP Web Server
    PHP実行可能ファイル:php

    デバッグ転送エンコード:UTF-8
    デバッグ出力エンコード:UTF-8

   08PDT_PHPデバッグ
   ・インストール済みデバッガー、ステップ・フィルター、ワークベンチ・オプションの設定はとくに修正していない気もするけど念のためキャプチャを載せておきますね。
   08PDT_PHPデバッグ02
   08PDT_PHPデバッグ03
   08PDT_PHPデバッグ04

 11)Eclipseでデバッグ実行
   ・デバッグで止めたいソースの行にダブルクリックでブレークポイントを設定します。、
   ・対象のソースを右クリックし、デバッグ>PHP Webページで対象のブレークポイントで処理がストップします。Zendの場合は対象ソースの最初の行で必ず止まるみたいですねぇ・・・F8で設定したブレークポイントに移動できます。
   eclipse_00.gif

   ・デバッグの画面。変数の内容も見れて便利やのぅ。デバッグ出力画面では、出力される内容が見れまして、ブラウザー出力ではブラウザでみたときの内容が確認できます^^
   eclipse_01.jpg

   ・ブレークポイントの設定とかは下記のサイトが親切に解説してくれていますので参考までに。
    ・たぬきと一緒にお勉強 第13回目 PHPIDEによるデバック

■感想
  うむ・・・やはりブレークポイント使えるのと使えないのとじゃぁ効率がちがうよなぁー^^;
  しかし、この設定も色々嵌りどころがあって疲れましたわ(つ_・。)

■参考ページ
たぬきと一緒にお勉強 第13回目 PHPIDEによるデバック
 デバッグの使い方が詳しく説明してあります。

ひとり2ちゃん-Eclipse で PHP PDT
 最新のPDTではこちらの手順じゃないと動かせないッぽい。感謝です^^

文系大学的IT系の悲哀
 デバッグするための一通りの手順が書いてあるのですが、最新のPDTだとhttpd.confの設定が必要なので注意が必要ですね。

コメント

お見事!
まさに同じところで躓いていました。
助かりました。ありがとうございます。

コメントの投稿

  • URL
  • コメント
  • パスワード
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL:http://kevinjohnson2.blog69.fc2.com/tb.php/184-07683dd3
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。