はてなあたまさんのブログです。

WEB開発勉強中でーす

vscode利用し、Xdebug インストールする方法

環境 

1.Mac m1 pro

2.MAMP利用

3.PHP 8.0.23

順番

1.

xdebugインストール

pecl install xdebug
  1. このコマンドで無事にインストールされてるのか確認
➜  ~ php -v
PHP 8.0.23 (cli) (built: Sep  3 2022 12:20:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.23, Copyright (c) Zend Technologies
    with Xdebug v3.1.5, Copyright (c) 2002-2022, by Derick Rethans
    with Zend OPcache v8.0.23, Copyright (c), by Zend Technologies
  1. xdebugを利用するPHPphp.iniにコード追加します。

私の場合には、MAMPを利用し、Laravelのデバッグをする予定なので

まず、こっちに追加しました。

vi /Applications/MAMP/bin/php/php8.0.8/conf/php.ini

一番上に追加しました。

zend_extensionのパスはpeclコマンドでインストールする時

パスが出るのでそこのパスをコピペーして書きます。

#pecl インストール中にパスが書いているところw
extension_dir => /opt/homebrew/lib/php/pecl/20200930 => /opt/homebrew/lib/php/pecl/20200930
#php.ini

zend_extension="/opt/homebrew/Cellar/php@8.0/8.0.23_1/pecl/20200930/xdebug.so"

xdebug.mode=debug
xdebug.client_host=localhost
xdebug.client_port=9003 //(port9003になっているのに注意!)
xdebug.start_with_request=yes

[PHP]

;;;;;;;;;;;;;;;;;;;
; About php.ini   ;
;;;;;;;;;;;;;;;;;;;
  1. vscode拡張機能PHP Debug インストールする。

詳細設定は launch.jsonに書きます。php.iniに書いといたportを合わせます。

#launch.json

{
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9003
        }
    ]
}

5.MAMPapacheサーバをリスタート!!

6.debugを実行しますw

→launch.jsonで設定したport番号に入るのではなく

普通のapacheのport番号で接続することです!

赤いポイントをつけたら

該当時点にアクセスすると

デバッグが実行されます。

・苦労したところ

①port設定を9003にしたので

9003にずっと接続したが、

普通のapacheのアクセスでやることでした

②最初には

php.iniに設定するコードを(xdebug設定)

ローカルのphp.iniだけに追加したので

当たり前だが、Laravelが利用するphpと違うphpだったため

できなかったです・・

本当は簡単な設定やインストールっぽいのようですが

まあ、PHPに関していろいろ勉強になりました。