Сейчас я создаю проект Laravel. Несколько дней назад я переустановил ОС (Windows 10) и перестроил всю среду разработки. Проблема в обновленной версии Xdebug.
Отладка бэкенда с помощью Xdebug версии 2 работала хорошо, но я скачал dll-файл, установленный с помощью Xdebug v3, с xdebug.org/wizard и в соответствии с руководством (что-то вроде того, что я делал раньше). Но я больше не могу отлаживать.
Вот мой файл launch.json (старая версия)
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
И кажется, что есть некоторые функции, обновленные с v2.
Что-то вроде изображения выше. Я перепробовал все возможные случаи, но не нашел решения. Кто-нибудь может мне помочь? Любой совет приветствуется. Спасибо.






ИДЕ:
Как показывает руководство по обновлению (https://xdebug.org/docs/upgrade_guide), первое, что изменилось, — это номер порта, который IDE должна прослушивать для соединений. Это вы выделили, но убедитесь, что вы изменили его на 9003 в файле конфигурации json. Это должно быть единственное изменение, которое вам нужно сделать в вашей среде IDE.
Далее - Конфигурация Xdebug:
В Xdebug есть новый параметр: xdebug.mode (https://xdebug.org/docs/all_settings#mode). Его значение по умолчанию — develop, и вы должны изменить его (явно установить его на debug), чтобы перевести Xdebug в режим отладки (для этого вам нужно изменить php.ini). Дополнительные сведения см. в документации.
ОБНОВЛЕНИЕ:
Как правильно предложил @LazyOne в разделе комментариев, если вы хотите сохранить порт 9000, вы можете пропустить его изменение в VS Code и вместо этого снова установить порт на 9000 в настройках Xdebug: https://xdebug.org /docs/step_debug#client_port
При этом номер порта по умолчанию был изменен по какой-то причине: https://bugs.xdebug.org/view.php?id=1848. Возможно, вы захотите принять новый номер порта.
Спасибо за отзывчивость, ребята. На самом деле, я попытался переустановить vscode и расширение отладчика php. да, Золи Сабо прав. Настройка файла php ini: [XDebug] xdebug.mode=debug xdebug.start_with_request=yes zend_extension = C:\xampp\php\ext\php_xdebug-3.0.1-7.3-vc15-x86_64.dll примерно так, как указано выше. и номер порта должен быть 9003 в файле launch.json. Теперь это работает хорошо. Еще раз спасибо! :)
Я решил проблему, удалив кеш с помощью команды artisan:
php artisan cache:clear
Я не знаю, как эта команда решила проблему, но я заметил, что когда я меняю порт на 9003, я все еще получаю сообщение об ошибке на порту 9000! Я думаю, что laravel закешировал порт!
«Это вы выделили, но убедитесь, что вы изменили его на 9003 в файле конфигурации json». ИЛИ настройте Xdebug, чтобы он продолжал использовать 9000 (раньше это работало нормально).