Используя laravel / hometead vagrant box, VS Code и PHP Debug extension, я могу устанавливать точки останова и проходить через код только при запуске теста через phpunit.
Если я получаю доступ к тому же ресурсу через в браузере мои контрольные точки никогда не достигаются.
Исходя из того, что я могу отлаживать при выполнении тестов, я предполагаю, что xdebug работает и настроен правильно.
Мой файл .env:
APP_NAME=lms
APP_ENV=local
APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=true
APP_URL=https://lms.test
Мой файл .env.testing:
APP_NAME=lms
APP_ENV=testing
APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=true
APP_URL=https://lms.test
PHP Конфигурация отладки:
"configurations": [
{
"name": "Listen for XDebug on Homestead",
"type": "php",
"request": "launch",
"pathMappings": {
"/home/vagrant/code/MyProject": "C:\\Users\\lemon\\source\\vagrant\\MyProject"
},
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
app. php
'env' => env('APP_ENV', 'production'),
'debug' => env('APP_DEBUG', false),
netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10
10.0.2.2
/ etc / php / 7.4 / cli / conf.d / 20-xdebug.ini
zend_extension=xdebug.so
xdebug.remote_enable = 1
xdebug.remote_autostart=1
xdebug.remote_host=10.0.2.2
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
xdebug.max_nesting_level = 512
Я включил ведение журнала xdebug. Когда я запускаю отладчик во время теста, создается журнал, который показывает ожидаемые записи. Если я затем удаляю файл журнала и выполняю GET из браузера, на тот же контроллер, что и в тесте, журнал xdebug не создается.
Может быть, некоторые свободные sh глаза могут определить проблему. Спасибо!