Перестал работать Xdebug 2020
Столкнулся с тем, что у меня перестал работать Xdebug. Удивило меня то, что я не вносил никаких изменений в конфигурацию как xdebug-а, так и IDE. Дело оказалось в том, что xdebug обновился на новую версию, во время очередного общего апдейта пакетов. И эта конфигурация старой, второй версии не совместима с новой, теретей..
Xdebug обновился до третьей версии, в которой произошли изменения в опциях конфигурации.
Проверить вашу версию можно так
1 2 3 4 5 6 7 8 |
# php -v PHP 7.4.13 (cli) (built: Nov 28 2020 06:24:59) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.13, Copyright (c), by Zend Technologies with Xdebug v3.0.1, Copyright (c) 2002-2020, by Derick Rethans |
А вот ссылки на официальный источник
- Анонс этого обновления: https://xdebug.org/announcements/2020-11-25
- Инструкция по миграции: https://xdebug.org/docs/upgrade_guide
- Описание опций: https://xdebug.org/docs/all_settings
Ключевые опции которые помянелись в моей конфигурации
- Нужно указывать режим работы, инструкцией "xdebug.mode"
- Порт по-умолчанию поменялся с 9000 на 9003
- "xdebug.remote_host" заменен на "xdebug.client_host"
- "xdebug.remote_port" заменен на "xdebug.client_port"
- "xdebug.remote_autostart" заменен на "xdebug.start_with_request=yes"
Итого конфиг для php-fpm
1 2 3 4 5 6 7 8 9 10 11 12 |
xdebug.mode=develop,debug xdebug.client_host=127.0.0.1 xdebug.client_port=9003 xdebug.idekey=PHPSTORM xdebug.scream=1 xdebug.force_display_errors=1 xdebug.halt_level=E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE xdebug.file_link_format="phpstorm://open?file=%f&line=%l" #xdebug.xdebug_log="/tmp/xdebug.log" #xdebug.output_dir="/work/progr/webnmp/xdebug/profiling/php7.4" |
Конфиг для php-cli
1 2 3 4 5 6 7 8 9 10 11 12 13 |
xdebug.mode=develop,debug xdebug.client_host=127.0.0.1 xdebug.client_port=9003 xdebug.idekey=PHPSTORM xdebug.start_with_request=yes xdebug.scream=1 xdebug.force_display_errors=1 xdebug.halt_level=E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE xdebug.file_link_format="phpstorm://open?file=%f&line=%l" #xdebug.xdebug_log="/tmp/xdebug.log" #xdebug.output_dir="/work/progr/webnmp/xdebug/profiling/php7.4" |
В PHPStorm возможно понадобится поменять порт с 9000 на 9003 в настройках
File > Settings > Languages & Frameworks > PHP > Debug > Xdebug > Port
Еще одна особенноеть, при использовании XDebug в консоли и выключенном прослушивании в PHPStorm, в консоли появляются ошибки
- Xdebug: [Step Debug] Could not connect to debugging client. Tried: 127.0.0.1:9003 (through xdebug.client_host/xdebug.client_port)
Чтобы их отключить нужно установить log_level = 0, т.е. добавить вот это
1 2 3 4 |
xdebug.log_level=0 #xdebug.xdebug_log="/tmp/xdebug.log" |
не забудьте только вренуть обратно, если понадобится дебажить соединение с IDE
Author: | Tags: /
| Rating:
Leave a Reply