5

問題が何であるかはわかりませんが、うまくいきません。

ルーティングは機能しているようです。nginx conf ファイルにサーバー名があります。たとえば、test.com。それが機能します。

私のプロジェクトは、マウント フォルダーではなく、ubuntu のルートにあります。

他に何を試したらよいかわかりません。

xdebug.ini

[XDebug]
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so

xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_port=9002
xdebug.remote_handler=dbgp
xdebug.remote_connect_back=0
xdebug.remote_host=soapboxtest.com
xdebug.idekey=VSCODE
xdebug.remote_autostart=1
xdebug.remote_log=/usr/local/etc/php/xdebug.log

launch.json

{
  "name": "Listen for XDebug",
  "type": "php",
  "request": "launch",
  "port": 9002,
  "log": true,
  "externalConsole": false,
  "pathMappings": {
    "/var/www": "${workspaceRoot}"
  },
  "ignore": [
    "**/vendor/**/*.php"
    ]
  },

クッキーをリクエストする

"XDEBUG_SESSION" => "VSCODE"

Dockerfile

FROM php:fpm-alpine3.11
...
RUN pecl install xdebug
RUN docker-php-ext-enable xdebug
...
4

3 に答える 3

1

VSCode から WSL リモート環境をリッスンするように Xdebug を構成するのを同僚に手伝ってもらった後、IDE の左下にある WSL リモート アイコンをクリックすると開くオプションを探しました。

リモート WSL: ログを表示

WSL ターミナルが開き、WSL が使用している IP アドレスが(いくつかの情報の間に) 表示されます。この WSL IP をxdebug.remote_host値に追加します。Docker コンテナーから Xdebug を正しく実行するには、WSL2 環境内 (WSL リモート VSCode 拡張機能から) に、launch.jsonファイル内のアプリケーション パスを調整する必要があります。

そのためには、launch.json ファイル タブでマウスの右ボタンをクリックし、「パスのコピー」オプションを検索してクリックし、このサンプルのように pathMappings 設定内に貼り付けます (パスを調整することを忘れないでください)。 launch.json 自体に関連する情報を削除します。これはアプリケーション パス用です!):

"pathMappings": {
      "/application": "paste here the path you've copied"
 }

私は魅力のように働いたので、試してみてください。そして、それがあなたにも当てはまる場合は、私の答えに投票してください!

于 2020-12-30T20:31:49.557 に答える