Xdebugとは
PHPのデバッグツール(拡張機能モジュール・エクステンション)のことです。
前提条件
PHP(XAMPP)・Composerのインストールが完了していること。
以下の記事の続きです。
PHP(XAMPP)
Composer
1. Xdebugのインストール
① インストーラのダウンロード
(1) 以下内容(PHPの環境情報)を全てコピー
(2) 以下サイト内のテキストエリアに(1)でコピーした内容を貼り付けます。
https://xdebug.org/wizard
(3) [Analyse my phpinfo() output] をクリックします。
→(1)~(3)では、PHP環境の詳細情報(バージョン・OS・ビルド設定など)を
インストールウィザードが解析し、PHPのバージョンとビルド設定(32ビット/64ビット
など)を特定して適切なエクステンションファイルを作成しています。
(4) [php_xdebug-X.X.X-X.X-vsXX-x86_64.dll] をクリックします。
→これにより、エクステンションファイルがダウンロードされます。
(5) 自動でエクスプローラーが開くので、インストーラの保存先を選択し保存します。
(6) (4)でダウンロードしたエクステンションファイル名を「php_xdebug.dll」へ変更
します。
→PHPのエクステンションファイル名には「php_エクステンション名.dll」という
命名規則があります。これに則ることで、他エクステンションファイルとの一貫性を
保ち、ファイルとエクステンションの対応が明確になります。
(7) (5)ファイルを「C:\xampp\php\ext」へ移動します。
→これにより、PHPがエクステンションファイルを認識しロードできるようになります。
※PHPは設定ファイル「php.ini」の「extension_dir」ディレクティブで指定した
ディレクトリの中からエクステンションファイルを探します。
デフォルト設定値が「C:\xampp\php\ext」のため、これに合わせます。
② PHPの設定
設定ファイル「php.ini」を編集し、設定を変更します。
(1) zend_extensionの設定を変更する
PHP起動時に読み込むZend Engine(PHPのコアエンジン)の拡張機能を指定します。
初期値は「opcache」となっていますが、これを「xdebug」に変更し、
先頭の「;」(コメントアウト)を削除し有効化します。
※opcache:キャッシュを利用してPHP実行の高速化を実現する拡張モジュール
zend_extension=xdebug
(2) デバッグ設定を追加する
以下の設定を追記します。
・xdebug.mode:Xdebugの動作モードを指定します。
debug・develop・coverage・gcstats・profile・traceが設定できカンマ区切りで
複数指定することも可能です。
・xdebug.start_with_request:デバッグセッションの自動的開始を設定します。
yes・no・triggerが指定可能です。
[xdebug]
xdebug.mode=debug
xdebug.start_with_request=yes
※セクションタイトル[xdbug]
は視覚的な分かりやすさのため記述しています(他設定も
同様に記述されています)。
コメント扱いになるため、PHPの設定に影響を与えることはありません。
※他に以下の設定がありますが、今回はデフォルト値で問題ないため変更していません。
・xdebug.client_host:デバッグするホスト(マシンのIPアドレス または 127.0.0.1
(ローカルホスト))を指定します。デフォルトは「127.0.0.1」です。
・xdebug.client_port:デバッグするホストのポートを指定します。
デフォルトは「9003」です。
※Xdebugのバージョンにより記法が異なります(今回は3.系のため上記で記述)。
③ 動作確認
(1) XAMPPのApacheを再起動する
②設定を反映させるため、[Stop] → [Start] より再起動します。
(2) テスト用phpファイルにアクセスし、設定内容を確認する
参考
デバッグ関連
Xdebugについて
インストール手順
php.iniの設定内容