忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2024/04/25 14:26 |
PHP1-88:XDebug

PHPではエラーが発生した場合わりとわかりやすく教えてくれますが、テキスト表示なので素っ気ないです。
ビジュアル的に表示してくれるツールとしてXDebugというものがあります。
エラーが発生した周辺のトレースなんかも行ってくれ、デバッグがちょっとだけやりやすくなります。

導入はxgebug.orgからダウンロードしてきてインストールするのが正道ですが、例によってXAMPPには最初から入っていたりします。

php.iniにも予めXdebugの定義が書かれており、コメントを外すだけで使用できます。
デフォルトで使用されている[Zend]セクションを全てコメントアウトし、[XDebug]セクションのコメントを外します。
丁寧にも「Only Zend OR (!) XDebug」なんて注意書きまでしてくれているのでおとなしく従いましょう。

php.ini

[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] Warning: Wrong parameter count for substr() in C:\xampp\htdocs\index.php on line 3
[XDebug]

( ! ) Warning: Wrong parameter count for substr() in C:\xampp\htdocs\index.php on line 3
Call Stack
# Time Memory Function Location
1 0.0008 57224 {main}( ) ..\index.php:0
2 0.0008 57336 substr ( ) ..\index.php:3


あと、副作用でvar_dump()の表示も色つきに変化します。
まあ、慣れれば通常の表示でも十分ではあるのですが、やっぱ見た目が明るいとなんとなく違うというか。
ただ問題点として、変数の中身が長すぎると途中で端折られてしまいます。
出力の時点で消えているため、どうやっても確認することができないので物凄い迷惑。

端折られるサイズの制限は、php.iniに
xdebug.var_display_max_data     //表示する最大データサイズ、デフォルト512
xdebug.var_display_max_depth   //配列やオブジェクトを表示する深さ、デフォルト3
を追加すると変更することができます。
var_display_max_data=65535、var_display_max_depth=20くらいに変えてしまいましょう。

PR


2009/09/04 11:23 | Comments(0) | TrackBack() | PHP

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<一年半前の記事にツッコミ | HOME | 任天堂はゲーム業界各社にとってのロールモデルになり得ない>>
忍者ブログ[PR]