XAMPP に Xdebug を設定する

このページは、XAMPP に Xdebug を設定する手順を説明するページです。

目次

注意

  • XAMPP 7.4.2、Xdebug 2.9.2 時点の内容です。将来のバージョンで仕様が変更されている場合は使用できない可能性があります。

手順

1. phpinfo() の内容を確認して内容をコピーする

XAMPP の Apache を起動し、phpinfo() の内容を確認します。
(特に特殊な設定をしていなければ http://localhost/dashboard/phpinfo.php にアクセスすると phpinfo() の内容が確認できます)

表示された内容をCtrl + Aなどですべて選択してコピーします。

Ctrl + A などですべて選択してコピー

2. Xdebug のページに 1. でコピーした内容を貼り付ける

Xdebug: Support — Tailored Installation Instructions にアクセスし、入力欄に 1. でコピーした内容を貼り付けます。
貼り付けたのち、「Analyse my phpinfo() output」ボタンをクリックします。

3. dll をダウンロードする

php_xdebug-2.9.2-7.4-vc15-x86_64.dll とあるリンクをクリックし、dll ファイルをダウンロードして C:\xampp\php\ext フォルダに配置します。
※ dll ファイルは環境によってバージョンなどが違う場合があります。また、配置するフォルダは XMAPP のインストール時の設定によります。

4. php.ini を編集する

c:\xampp\php\php.ini を開き、下記の項目を追加します。
※ 問題があったときに戻すことができるよう、念のため編集前の php.ini ファイルをコピーしておいてください。

[XDebug]
zend_extension = C:\xampp\php\ext\php_xdebug-2.9.2-7.4-vc15-x86_64.dll
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
設定項目 概要 初期値
zend_extension dll ファイルのパス。フォルダやファイル名は環境によって異なります。
xdebug.remote_enable デバッグ接続を開始するか 0
xdebug.remote_autostart GET や POST に Xdebug 用の変数が無くても常にデバッグセッションを開始するか 0

すべての設定の説明は Xdebug: Documentation » All settings に記載されています。

補足: ネット上によく記載されている設定項目

ネット上によく記載されている設定項目を参考に記載します。初期値のままでよい設定を php.ini に追加する必要はないため、必要かどうか確認して設定してください。

設定項目 概要 初期値
xdebug.profiler_enable プロファイラー (実行時間などを計測する機能) を有効にするか 0
xdebug.profiler_enable_trigger XDEBUG_PROFILE パラメータによってプロファイラーファイルを生成するか 0
xdebug.profiler_append プロファイラー使用時、同名のプロファイラーファイルがあった時にファイルに内容を追記するか (初期設定 = 0。0 の場合追記ではなく上書き) 0
xdebug.profiler_output_dir プロファイラーファイルの出力ディレクトリのパス
xdebug.remote_handler Xdebug 2.9 未満の設定のため、2.9 以降では必要ありません dbgp
xdebug.remote_host デバッグを行うクライアント側のホスト名 localhost
xdebug.remote_port デバッグを行うクライアント側のポート 9000
xdebug.remote_log 接続ログの出力ファイルパス
xdebug.trace_output_dir トレースログの出力ファイルパス
xdebug.remote_cookie_expire_time セッション Cookie を介したリモートデバッグセッションが存続する時間 3600
(= 60 分)

5. XAMPP の Apache を再起動する

php.ini の内容を反映させるため、XAMPP のコントロールパネルを開いて Apache を再起動します。
(起動中であれば「Stop」ボタンをクリック後「Start」ボタンをクリック)

6. phpinfo() に Xdebug の項目があるか確認する

Xdebug の設定が反映されているか、1. でアクセスした phpinfo() のページに再度アクセスして確認します。

Xdebug の設定項目が表示されていれば設定は完了です。このあと、それぞれの開発環境で Xdebug の設定を行ってください。
(例: Visual Studio Code で Xdebug を使用する)

参考