Xdebug достигает точки останова, но VSCode не может найти файлPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Xdebug достигает точки останова, но VSCode не может найти файл

Сообщение Anonymous »

Для разработки PHP я использую образ LAMP для докера и настроил XDebug внутри Apache, чтобы он работал. В хост-системе я использую Ubuntu с VSCode (версия 1.95.1)
Когда Xdebug достигает точки останова в моем коде token.php, у VSCode возникают проблемы с открытием файла:< /p>
Изображение

Откуда берется путь к /app/backend/models/Token.php? Сам файл находится здесь:
/home/butti/repo/backend/app/backend/models/Token.php
Изображение

В Xdebug вроде бы все в порядке, а также работает контроль переменных (уровень журнала 10):
Изображение

Мне интересно, нужно ли мне настроить другой путь в launch.json в этой части:
"cwd": "${workspaceRoot}",
"pathMappings": {
"/var/www/html": "${workspaceRoot}"
},

Я пытался заменить ${workspaceRoot фиксированным путем, но затем либо VSCode не останавливается в точке останова, либо VSCode не может найти указанный выше файл для отображения. .
Я добавил в pathMappings ./, чтобы можно было найти нужный файл:
"cwd": "${workspaceRoot}",
"pathMappings": {
"/var/www/html": "./${workspaceRoot}"
},

При запуске отладчика и установке точки останова она, как обычно, красного цвета:
Изображение

... и при попадании по нему он становится прозрачным, не останавливая код:
Изображение

...и в xdebug.log написано:
[32] [Step Debug] WARN: Breakpoint file name does not exist: /home/butti/repo/backend/app/backend/models/Token.php (No such file or directory).
[32] [Step Debug] ->

Но на самом деле файл в моей хост-системе (где работает VSCode) существует и имеет разрешения на чтение/запись:
$: ls -la Token*
-rw-rw-rw- 1 butti staff 3273 Nov 6 13:37 Token.php
$: pwd
/home/butti/repo/backend/app/backend/models


Есть еще предложения, на которые мне следует обратить внимание?
Мои настройки:
  • Конфигурация launch.json для отладки докера:
{
"name": "Listen on Docker for Xdebug",
"type": "php",
"request": "launch",
"hostname": "192.168.178.111",
"port": 9003,
"log": true,
"cwd": "${workspaceRoot}",
"ignore": [
"**/vendor/**/*.php"
],
"pathMappings": {
"/var/www/html": "${workspaceRoot}"
},
"xdebugSettings": {
"max_data": 65536,
"show_hidden": 1,
"max_children": 100,
"max_depth": 3
//"resolved_breakpoints": "0"
},
},
  • Хостовая система: Ubuntu 24.04.1 LTS; VSCode 1.95.1 с PHP Debug v1.35.0
  • Стек LAMP в образе Docker mattrayner/lamp:latest, улучшенный до PHP 8.3.13 и Apache php -v в docker дает:
PHP 8.3.13 (cli) (built: Oct 30 2024 11:27:07) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.13, Copyright (c) Zend Technologies
with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
with Xdebug v3.3.2, Copyright (c) 2002-2024, by Derick Rethans
  • apache2 -vв докере выдает:
Server version: Apache/2.4.41 (Ubuntu)
Server built: 2024-07-17T18:58:09


Подробнее здесь: https://stackoverflow.com/questions/791 ... d-the-file
Ответить

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

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

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

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

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