2010年01月25日 02:01
パーマリンク | TB http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/519
XAMPP1.6.8、PDT2.0でのPHPスクリプトのデバッグ設定について。 不完全であり、解決できない問題があり。
ウィンドウ > 設定 > PHP > PHP実行ファイルの設定
から実行ファイルを設定します。

色々なVerのPHPの実行ファイルを登録した場合に区別がつくようにします。適当でOK。 ここではPHP5とします。
実行ファイルとはPHPを実行するファイルです。そのままで説明になってませんが Windowsならexeファイルのことだと思ってればいいはずです。 なのでXAMPPの場合、XAMPP/php/php.exe を指定します。
基本apacheがロードするphp.iniを指定します。 サーバのphp.iniとデバッグ用のphp.iniを別にしたい場合は、 php_debug.iniとか作ってやればいいかと思います。
利用するデバッガーを指定します。
XAMPPがロードするphp.iniはXAMPP/apache/bin/php.iniとなります。 下の方にある[Zend]の部分を探すと下記のようになっています。
[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_optimizer.license_path = ; Local Variables: ; tab-width: 4 ; End:
PHPはバージョンごとに異なるモジュール?とかを読み込む必要があるのですが、 これを利用すると使っているverのモジュールを自動で読み込んでくれるっていうものです。 (どこかのページに書いてあったんですが失念しました。。。)
zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
これはPHPのパフォーマンスを向上させるためのツールだそうです。
zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
このzend_extension_manager.optimizer_tsが設定されてるディレクトリを覗いてみます。
こんな感じでディレクトリがあり、中にZendOptimizer.dllが入ってます。 このディレクトリ名は重要です。 おそらくZendExtensionManagerがverによって自動で読みこむディレクトリ名だからです。
なので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がデバッガを読み込む設定をしてあげます。 下記を追記しましょう。
zend_extension_manager.debug_server_ts = "C:\xampp\php\zendOptimizer\lib\ZendDebugger"
基本的に上記の1行追加で問題ないようです。
[Zend] zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll" zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer" zend_extension_manager.debug_server_ts = "C:\xampp\php\zendOptimizer\lib\ZendDebugger" zend_optimizer.enable_loader = 0 zend_optimizer.optimization_level=15 ;zend_optimizer.license_path = ; Local Variables: ; tab-width: 4 ; End:
以上の設定をして、apach再起動後、phpinfoをみると

のようになっていればOKです。
実行 > 実行構成 > PHP スクリプト
を新規作成してこんな感じで設定。

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

これじゃ使えないので「PHP Webページ」の方を使ってるという無様な結果・・・
引数、環境タブで何かしら設定すればなんとかなりそうな気もするんですが 今のところどうにもなっていない・・・。
この辺りの意味がまったく不明。
zend_optimizer.enable_loader = 0 zend_optimizer.optimization_level=15 zend_debugger.allow_hosts=127.0.0.1 zend_debugger.deny_hosts = all zend_debugger.expose_remotely = always
/ 金額 : ¥ 1,890
1-5
6-10