Настройка удаленной отладки PHP кода по SSH в VSCode
Имеется сервер на CentOS 7 с установленным PHP7.2 и Xdebug 2.9.0. На ПК с Виндовс10 установлен VScode, c настроенным удаленным доступом к вышеупомянутому серверу через плагин RemoteSSH. Пытаюсь настроить отладку с помощью плагина VSCode - PHP Debug, но что-то не работает, хотя ранее я точно так же настраивал и все работало. Странно, что разные exception дебагер отлавливает, если стоит галка на everything, если ее убрать, то мои точки останова не ловит(которые под everything).
Настройки в php.ini
zend_extension = /usr/lib64/php/modules/xdebug.so
xdebug.remote_log = "/var/log/xdebug.log"
xdebug.remote_handler=dbgp
xdebug.profiler_enable = 1
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_autostart = 1
xdebug.remote_host = 127.0.0.1
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
},
]
}
Такая же проблема была и с xdebug 3.0 , так как там были параметры нового вида в php.ini, то я предположил что у меня просто не получилось их освоить, но в 2.9 все происходит точно так же
Ответы (1 шт):
Понял что не работают точки останова после одного из выражения require_once(), если поставить брекпоинт на этот require_once(), то дебагер останавливается на ней, и уже с нее можно переходить на другие точки и дебажить как обычно, и в конце скрипт отрабатывает как нужно. Но если поставить брекпоинт на любое выражение после require_once(), даже вида $a = 1, то дебагер зависает. В принципе я могу с этим жить, но что за магия? Ведь даже если в этом require_once() будет какой-то ексепшн, то дебагер ведь не должен зависнуть? Да если и должен, то по идее он бы зависал в любом случае.
