XAMPP for Windows, XAMPP for MacでXdebugを使う : PHP

Pocket

XdebugはPHPのデバッグツール。


» Xdebug – Debugger and Profiler Tool for PHP

Windows XAMPP 1.7.1

PHP Extensionとしてインストール

Zend Extensionとしてうまくインストールする方法が分からなかったので最初はPHP Extensionとしてインストールした(2012.09.13 Zend Extensionとしてインストールする方法を追記)。

C:\xampp\php\php.iniの下記コメントアウトをはずす。

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

extension=php_xdebug.dll ← コメントアウト;をはずす。

インストールができていればphpinfo関数でXdebugの項目が表示される。

下記にZend Extensionとして動かす方法を追記(2012.09.13)。

Zend Extensionとしてインストール

php.iniを編集する。
デフォルトのzend_extension_tsをコメントアウト。

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

上記をコメントアウトしないとApacheを起動時に下記エラーが発生する(Apacheのエラーログを確認。)

PHP Fatal error:  [Zend Optimizer] Zend Optimizer 3.3.3 is incompatible with Xdebug 2.0.4 in Unknown on line 0
[Thu Sep 13 11:19:30 2012] [warn] pid file C:/xampp/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Sep 13 11:19:30 2012] [notice] Digest: generating secret for digest authentication ...
[Thu Sep 13 11:19:30 2012] [notice] Digest: done

» PHPをNetBeansとxamppでソースデバッグ

php.iniのZend, XDebugに関連した箇所。

[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:

[XDebug]
;; Only Zend OR (!) XDebug
zend_extension_ts="C:\xampp\\php\ext\php_xdebug.dll"
;xdebug.remote_enable=true
;xdebug.remote_host=127.0.0.1
;xdebug.remote_port=9000
;xdebug.remote_handler=dbgp
;xdebug.profiler_enable=1
;xdebug.profiler_output_dir="C:\xampp\tmp"

※最初はZend Extensionとしてインストールする方法が分からずPHP Extensionとしてインストールしていた。phpDocumentor 2をインストールをインストールしたくてpearコマンドを使ったときに下記のエラーがでたのでZend Extensionとしてインストールした。

HP Warning:  Xdebug MUST be loaded as a Zend extension in Unknown on line 0

※ PhpDocumentor 2はPHP5.3以上が必要でXAMP 1.7.1は5.29なのでインストールできなかった。

※ 現在のXDebugの環境はhttp://xdebug.org/wizard.phpで確認できる。テキストエリアにphpinfo関数で表示される内容をペースト(Firefox cntrl + uで表示されるコードを全部コピー&ペースト)

Mac

Zend Extensionとしてインストール。

XAMPP Verion 1.7.1でXDebugを使うメモ。

XAMPP for MacはデフォルトでXDebugがインストール済み。
php.iniに下記の行を追加する。

 zend_extension="/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so"

ローカル変数をデバッグ画面に表示

xdebug.show_local_vars = 1
Zend Extensionの場合
[XDebug]
;; Only Zend OR (!) XDebug
zend_extension_ts="C:\xampp\\php\ext\php_xdebug.dll"
xdebug.show_local_vars = 1
PHP Extensionの場合
;extension=php_xdebug.dll
;xdebug.show_local_vars = 1

» Xdebug によるスタックトレースの機能拡張 – Web/DB プログラミング徹底解説

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。