xdebugの設定
xdebugを利用できるように設定ファイルを調整し、apacheにextentionとしてxdebugを読み込ませるたくさん設定値があるがとりあえず以下の値だけ設定する。
xdebug.remote_hostの値はEclipse(WindowsのIP)を実行しているホストのIPに設定する
supernova ext # cat /etc/php/apache2-php5.3/ext/xdebug.ini | grep remote xdebug.remote_enable="1" xdebug.remote_handler="dbgp" xdebug.remote_host="192.168.xx.x" <--- リモートデバックの場合このIPは注意 xdebug.remote_mode="req" xdebug.remote_port="9000" xdebug.remote_autostart="0" xdebug.remote_log="" supernova ~ # /etc/init.d/apache2 restart
phpinfo()なページで確認
xdebugは先ほどインストールしたので、apacheを起動してphpinfoのページから読み込まれているか確認する。
Eclipse PDTを設定する
Xdebugと通信できるように設定するデバックのプロファイルを新規作成する
新規作成
デバック対象の設定
設定箇所
- 「Name」に設定名を入力
- 「Server Debugger」に「XDebug」を選択
- 「File」には「Browse」ボタンで開くダイアログからwww/index.phpを選択
- 「Breakpoint at First Line」のチェックははずす(ここは好みで)
- 「Auto Generate」のチェックははずす
- 「Configure...」ボタンをクリックしてサーバーの設定をしておく(別画像)
「Configure...」設定
ブレークポイントを仕込んでデバックをしてみる
デバッガの起動
処理をとめたいコードにブレークポイントを仕込む
デバック実行してみる
これで、リモートデバックが完成、F6(ステップオーバー)、F5(ステップイン)などいろいろあるので試してみて。
停止した場所での変数の確認や書き換えなどができるようになります。
XDebugを利用してスクリプトをプロファイルする
xdebug.iniを修正してプロファイル用のファイルを出力するように設定するプロファイルのファイルが出力されるのでディレクトリを作成しておく
このディレクトリへ出力することによってWindowsでそのファイルを取得できる
supernova ext # mkdir /home/apache/profile supernova ext # chown apache:apache /home/apache/profile
xdebug.iniを修正
以下のパラメータを修正し、apacheを再起動するsupernova ext # cat /etc/php/apache2-php5.3/ext/xdebug.ini | grep profile xdebug.profiler_enable="1" xdebug.profiler_output_dir="/home/apache/profile" xdebug.profiler_output_name="cachegrind.out.%p" xdebug.profiler_enable_trigger="0" xdebug.profiler_append="0" xdebug.profiler_aggregate="0" supernova ~ # /etc/init.d/apache2 restart
PHPが動作する適当なアドレスをブラウザでアクセスし、プロファイルが出力されるか確認する
supernova profile # ls -l /home/apache/profile/ total 52 -rw-r--r-- 1 apache apache 51944 May 4 10:49 cachegrind.out.8273
WinCacheGrindをインストールする
プロファイルツールでWinCacheGrindソフトがあったので使ってみたダウンロード: WinCacheGrind
WinCacheGrind.exeで出力されたファイルをオープンするとプロファイルが表示される
関数の処理時間などが確認できていい感じではないか?
ほかにも使いやすいクライアントがあれば教えてください。
0 件のコメント:
コメントを投稿