Настройте Xdebug с помощью установки Caddy/Frankenphp Docker в LinuxLinux

Ответить Пред. темаСлед. тема
Anonymous
 Настройте Xdebug с помощью установки Caddy/Frankenphp Docker в Linux

Сообщение Anonymous »

Недавно я создал новый проект Symfony, используя настройку Docker Symfony. В этой настройке используется Frankenphp (который использует Caddy в качестве веб-сервера). Теперь я хотел бы настроить xdebug с помощью своей IDE/редактора, который является neovim, но это не имеет большого значения для этого вопроса, так как я мог бы просто использовать другую IDE для тестирования xdebug, например. VSCode.
У Frankenphp есть файл readme о том, как настроить xdebug (с помощью PHPStorm). Однако в нем говорится, что клиент xdebug прослушивает порт 443. И в этом проблема, потому что, насколько я понимаю, это привилегированный порт под Linux, и я бы предпочел не запускать свою IDE с привилегиями суперпользователя.
Моим предпочтительным решением было бы настроить Frankenphp/caddy таким образом, чтобы xdebug прослушивал непривилегированный порт (в целях разработки), например 9003. Как бы мне это сделать? (На самом деле phpinfo говорит, что xdebug слушает 9003, но caddy, кажется, переназначает это, потому что мне не удалось настроить какую-либо IDE, используя этот порт.)
Я использую дистрибутив Manjaro.< /p>
Я не думаю, что это актуально, но вот протестированная мной настройка VSCode:

Код: Выделить всё

{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug on Docker",
"type": "php",
"request": "launch",
"port": 443,
"pathMappings": {
"/app/": "${workspaceFolder}"
}
}
]
}
И ошибка, которую я получил:

Код: Выделить всё

Error: listen EACCES: permission denied 0.0.0.0:443
at Server.setupListenHandle [as _listen2] (node:net:1882:21)
at listenInCluster (node:net:1961:12)
at Server.listen (node:net:2063:7)
at /home/ben/.vscode-oss/extensions/xdebug.php-debug-1.35.0/out/phpDebug.js:312:24
at new Promise ()
at createServer (/home/ben/.vscode-oss/extensions/xdebug.php-debug-1.35.0/out/phpDebug.js:243:36)
at PhpDebugSession.launchRequest (/home/ben/.vscode-oss/extensions/xdebug.php-debug-1.35.0/out/phpDebug.js:335:34)
at PhpDebugSession.dispatchRequest (/home/ben/.vscode-oss/extensions/xdebug.php-debug-1.35.0/node_modules/@vscode/debugadapter/lib/debugSession.js:385:22)
at PhpDebugSession.dispatchRequest (/home/ben/.vscode-oss/extensions/xdebug.php-debug-1.35.0/out/phpDebug.js:613:15)
at PhpDebugSession.handleMessage (/home/ben/.vscode-oss/extensions/xdebug.php-debug-1.35.0/node_modules/@vscode/debugadapter/lib/protocol.js:61:18) {
code: 'EACCES',
errno: -13,
syscall: 'listen',
address: '0.0.0.0',
port: 443
}
Я также протестировал порт 9003, на котором не сработала точка останова.
Используя phpinfo(), я смог подтвердить , что:
  • Для xdebug.client_host установлено значение host.docker.internal
    < li>Для xdebug.client_port установлено значение 9003
  • Код: Выделить всё

    Development Helpers
    для Xdebug включены
  • Код: Выделить всё

    xdebug.start_with_request
    установлено значение «да»


Подробнее здесь: https://stackoverflow.com/questions/790 ... p-on-linux
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»