ああコンフィグレーション
サーバ

cursorエディターのリモートSSH xdebug

ほとんどの場合、xdebugは、xampなど、ローカル環境で設定して利用している人がほとんどだと思う。現在VPSでつないでいる先のリモート編集をしているので、これをxdebugしたいと思ったのだが、結構難解だった。

最初の躓き

xdebugを利用しているひとなら、必要な解放ポートは9003とか、(設定次第だが)というのは知っている事ですよね。 私はこのポートが、サーバー側で解放されていなければならないと思っていたのが、まず1点目の躓き。cursorエディターの場合、設定さえできていれば、自動でアサインされ、9003ポートは、クライアント、開発マシン側のポートに登場する。

2点目の躓き

2点目はphp.ini /etc/php/8.1/apache2 にphp.iniがありますが、この

;xdebug
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=”127.0.0.1″
xdebug.client_port=9003

教科書どおりだけど、ここをこの通りに設定しても思い通りにいかない。一応この通りとするのだが、docker絡みのエラーになる。この時のxdebugのバージョンは3.1.2。ubuntuの場合、aptでインストールすると、基本docker仕様になるらしい。

この設定が、私の場合なら/etc/php/8.1/apache2/conf.dで、この中のxdebugの設定ファイルの20-xdebug.iniを編集。

zend_extension=xdebug.so

xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.idekey=”netbeans-xdebug”

として保存。あとはapache2再起動して、launch.jsonが、サーバー側、編集ディレクトリのルートの.vscodeフォルダ内に

"version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003
        }
    ]
としてあれば、動作するはず。だが、最終的にデバッグできる環境にスクリプトを修正しないと、あまり意味ない。

以上。