My puppyのブログ

学んだ事や作っているプログラムなどについて書いています。

PhpStorm、PHP8、Xdebug3でデバッグする

XAMPPでPHP8が使えるようになっていたので、今日の昼間にWindows10上にXAMPP(PHP8)、PhpStorm 、Xdebug3をインストールしてデバッグ(ステップ実行)が出来るように設定しました。

XAMPP(PHP8)はこちらからダウンロードできます。

f:id:ken_tokyo:20210820070237p:plain

Windows向けXAMPP」のボタンをクリックしてダウンロード後インストールです。

つぎにPhpStormをこちらからダウンロードしてインストール。

f:id:ken_tokyo:20210820070506p:plain

今すぐダウンロード」のボタンを押してダウンロード後インストールです。

Xdebug3はこちらからDLL(ダイナミックリンクライブラリ)をダウンロードして、「C:\xampp\php\ext」に移動します。

f:id:ken_tokyo:20210820071034p:plain

上のXdebug3のダウンロードページには多くの種類のDLLへのリンクが貼ってあるのですが、どれをダウンロードするか分からない場合は、以下の方法があります。

Xamppをインストール後にブラウザで「http://localhost/dashboard/phpinfo.php」にアクセスすると、以下のようなphpinfo()の出力が表示されます。

f:id:ken_tokyo:20210820071904p:plain

このページを表示させながらキーボードの「Ctrl + A」を押して文字列を全て選択してコピーします。

コピーした文字列を以下のページ内にあるテキストボックスに貼り付けて「Analyse my phpinfo() output」ボタンを押すと、ダウンロードするべきXdebug3のDLLを教えてくれます。

f:id:ken_tokyo:20210820072419p:plain

私が上記のページで試しにやってみたら以下のように表示されました。

f:id:ken_tokyo:20210820072615p:plain

このページで「1. Download php_xdebug-3.0.4-8.0-vs16-x86_64.dll」と書かれているので、ファイル名をクリックすればDLLをダウンロードできます。

このダウンロードしたDLLを「C:\xampp\php\ext」へ移動します。

php.iniの[xdebug]の項目は以下のように設定します。

[xdebug]
zend_extension="Xdebug3のDLLへのパス 例「C:\xampp\php\ext\php_xdebug-3.0.4-8.0-vs16-x86_64.dll」"
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port="Xdebug3が接続するポート番号(デフォルトは9003)"

php.iniの[xdebug]の設定について詳しくは以下のページに書いてあります。

Xdebug2とXdebug3でデフォルトのポート番号が違うので注意が必要です。

Xdebug2は9000で、Xdebug3は9003となっております。

PhpStormの設定でもXdebugのポート番号を9003に修正しないとデバッグ時のステップ実行がうまくいきません。

日本語化プラグインを入れたPhpStormでは「メニュー」→「設定」→「PHP」→「デバッグ」→「Xdebug」→「デバッグポート」で9003を設定します。

これでPhpStorm上でPHP8とXdebug3を使ってデバッグ(ステップ実行)できるようになりました。