php-fpm: настройки в модах- доступны/xdebug.ini не имеют никакого эффекта

#php #xdebug

#php #xdebug

Вопрос:

Я пытаюсь применить пользовательские настройки xdebug с помощью редактирования mods-available/xdebug.ini, но при перезапуске php-fpm применяются только настройки по умолчанию. В журналах ошибок не видно связанных ошибок.

Что может быть причиной того, что пользовательские настройки не применяются?

 zend_extension=xdebug.so
xdebug.remote_enable=on
xdebug.default_enable=on
xdebug.remote_autostart=off
#The default port 9000 doesn’t work as some other service (don’t remember which one) is using it as well
xdebug.remote_port=10000

#phpstorm's xdebug validate tool suggests:
#xdebug.remote_host=172.27.0.1
#but it's not working
#on mac you have to use this for docker
#xdebug.remote_host=docker.for.mac.localhost
#or (is the more recent one):
xdebug.remote_host = host.docker.internal
#more info:
#https://intellij-support.jetbrains.com/hc/en-us/community/posts/360000229624-Setting-up-xDebug-with-PHPUnit-using-Docker-for-Mac-and-PHPStorm
#https://devilbox-test.readthedocs.io/en/stable/tutorials/enable-xdebug.html
#https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds


xdebug.profiler_enable_trigger=1
xdebug.profiler_output_name=xdebug-profile-cachegrind.out-%H-%R
xdebug.var_display_max_children = 128
xdebug.var_display_max_data = 512
xdebug.var_display_max_depth = 3
xdebug.idekey=PHPSTORM
  

Ответ №1:

При попытке выяснить, какие модули включены с помощью команды php-cli «php -m», я получил список включенных модулей, а также сообщение об ошибке прямо над списком:

 PHP:  syntax error, unexpected '(' in /etc/php/7.4/cli/conf.d/20-xdebug.ini on line 5
  

Это указывает на то, что символ # не интерпретируется как начало комментария. Итак, после короткого поиска в Google я обнаружил, что для маскировки комментариев в ini-файлах нужно использовать точки с запятой:

 zend_extension=xdebug.so
xdebug.remote_enable=on
xdebug.default_enable=on
xdebug.remote_autostart=off
;The default port 9000 doesn’t work as some other service  (don’t remember which one)  is using it as well
xdebug.remote_port=10000

;phpstorm's xdebug validate tool suggests:
;xdebug.remote_host=172.27.0.1
;but it's not working
;on mac you have to use this for docker
;xdebug.remote_host=docker.for.mac.localhost
;or  (is the more recent one):
xdebug.remote_host = host.docker.internal
;more info:
;https://intellij-support.jetbrains.com/hc/en-us/community/posts/360000229624-Setting-up-xDebug-with-PHPUnit-using-Docker-for-Mac-and-PHPStorm
;https://devilbox-test.readthedocs.io/en/stable/tutorials/enable-xdebug.html
;https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds


xdebug.profiler_enable_trigger=1
xdebug.profiler_output_name=xdebug-profile-cachegrind.out-%H-%R
xdebug.var_display_max_children = 128
xdebug.var_display_max_data = 512
xdebug.var_display_max_depth = 3
xdebug.idekey=PHPSTORM