HOME>情報備忘録>不完全なEclipse PDT2.0のデバック設定

不完全なEclipse PDT2.0のデバック設定

XAMPP1.6.8、PDT2.0でのPHPスクリプトのデバッグ設定について。 不完全であり、解決できない問題があり。

PHP実行ファイルの指定

ウィンドウ > 設定 > PHP > PHP実行ファイルの設定

から実行ファイルを設定します。

名前

色々なVerのPHPの実行ファイルを登録した場合に区別がつくようにします。適当でOK。 ここではPHP5とします。

実行可能ファイル・パス

実行ファイルとはPHPを実行するファイルです。そのままで説明になってませんが Windowsならexeファイルのことだと思ってればいいはずです。 なのでXAMPPの場合、XAMPP/php/php.exe を指定します。

PHP iniファイル (オプション)

基本apacheがロードするphp.iniを指定します。 サーバのphp.iniとデバッグ用のphp.iniを別にしたい場合は、 php_debug.iniとか作ってやればいいかと思います。

PHPデバッガー

利用するデバッガーを指定します。

php.iniの設定

XAMPPがロードするphp.iniはXAMPP/apache/bin/php.iniとなります。 下の方にある[Zend]の部分を探すと下記のようになっています。

XAMPP/apache/bin/php.ini

  1. [Zend]
  2. zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
  3. zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
  4. zend_optimizer.enable_loader = 0
  5. zend_optimizer.optimization_level=15
  6. ;zend_optimizer.license_path =
  7. ; Local Variables:
  8. ; tab-width: 4
  9. ; End:
  10.  

ZendExtensionManager.dll

PHPはバージョンごとに異なるモジュール?とかを読み込む必要があるのですが、 これを利用すると使っているverのモジュールを自動で読み込んでくれるっていうものです。 (どこかのページに書いてあったんですが失念しました。。。)

XAMPP/apache/bin/php.ini

  1. zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
  2.  

Zend Optimizer

これはPHPのパフォーマンスを向上させるためのツールだそうです。

XAMPP/apache/bin/php.ini

  1. zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
  2.  

このzend_extension_manager.optimizer_tsが設定されてるディレクトリを覗いてみます。

  • php-4.2.0
  • php-4.2.x
  • php-4.3.x
  • php-4.4.x
  • php-5.0.x
  • php-5.1.x
  • php-5.2.x

こんな感じでディレクトリがあり、中にZendOptimizer.dllが入ってます。 このディレクトリ名は重要です。 おそらくZendExtensionManagerがverによって自動で読みこむディレクトリ名だからです。

なのでZendDebuggerもこれと同じ命名規則でディレクトリを作成します。

ZendDebugger

ZendDebuggerがない場合、Index of /pdt/server-debuggerから取得します。

C:\xampp\php\zendOptimizer\lib\ZendDebuggerというディレクトリを作成して ダウンロードしたアーカイブ内のディレクトリをコピーします。そしてC:\xampp\php\zendOptimizer\lib\Optimizer以下と 同じようにリネームします。

5_2_x_comp -> php-5.2.x

そうしたらZendExtensionManagerがデバッガを読み込む設定をしてあげます。 下記を追記しましょう。

XAMPP/apache/bin/php.ini

  1. zend_extension_manager.debug_server_ts = "C:\xampp\php\zendOptimizer\lib\ZendDebugger"
  2.  

基本的に上記の1行追加で問題ないようです。

XAMPP/apache/bin/php.ini

  1. [Zend]
  2. zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
  3. zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
  4. zend_extension_manager.debug_server_ts = "C:\xampp\php\zendOptimizer\lib\ZendDebugger"
  5. zend_optimizer.enable_loader = 0
  6. zend_optimizer.optimization_level=15
  7. ;zend_optimizer.license_path =
  8. ; Local Variables:
  9. ; tab-width: 4
  10. ; End:
  11.  

以上の設定をして、apach再起動後、phpinfoをみると

のようになっていればOKです。

PHP スクリプトの実行構成

実行 > 実行構成 > PHP スクリプト

を新規作成してこんな感じで設定。

実行すると動くけど、$_SERVER[DOCUMENT_ROOT]が空になる・・・

これじゃ使えないので「PHP Webページ」の方を使ってるという無様な結果・・・

引数、環境タブで何かしら設定すればなんとかなりそうな気もするんですが 今のところどうにもなっていない・・・。

残ってる問題

php.iniの[Zend]の設定

この辺りの意味がまったく不明。

XAMPP/apache/bin/php.ini

  1. zend_optimizer.enable_loader = 0
  2. zend_optimizer.optimization_level=15
  3. zend_debugger.allow_hosts=127.0.0.1
  4. zend_debugger.deny_hosts = all
  5. zend_debugger.expose_remotely = always
  6.  
投稿日 2010年1月25日 02:01
カテゴリ 設定
タグ Eclipse | PHP | XAMPP
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1044

コメント

コメントする
Name
Email Address
URL