xdebug не работает после установки и настройки php

Я установил Xdebug на PHP 7.3, используя pecl install xdebug

Когда я добавляю эти настройки в /etc/php/7.3/apache2/php.ini и перезагрузить Apache, страница не удается и говорит, что данные не отправляются на сервер.

xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
zend_extension="/usr/lib/php/20180731/xdebug.so"xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.halt_level=E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE
xdebug.scream=1

Не уверен, почему это не работает.

-1

Решение

(В оригинальной версии вашего вопроса ваша конфигурация была закомментирована, теперь вы отредактировали этот фрагмент, оставив несколько следующих абзацев как бы вне цикла)

Несмотря на документацию заявив, что имеет характер (#) больше не распознается как действительный символ комментария, начиная с PHP 7.0:

PHP Changelog

Похоже, что php с удовольствием обработает эти строки, как тем не менее, в комментариях к файлам конфигурации. Все, что касается хэша, интерпретатор игнорирует.

Таким образом, эти строки конфигурации совершенно неэффективны.

Чтобы убедиться, что ваша конфигурация загружается, создайте простой файл, подобный следующему:

<php
phpinfo();

Загрузка этого файла расскажет вам все о конфигурации PHP. Если Xdebug был успешно загружен, вы увидите что-то вроде этого:

вывод phpinfo

И внизу загружены настройки конфигурации:

вывод phpinfo

Это наиболее важные параметры, которые фактически загружают и включают расширение Xdebug:

zend_extension="/usr/lib/php/20180731/xdebug.so"xdebug.remote_enable=1

Важный: Вы должны проверить это /usr/lib/php/20180731/xdebug.so на самом деле существует, и если не найти фактическое местоположение вашего модуля xdebug.

В следующей строке предполагается, что веб-сервер и браузер установлены на одном компьютере с одним IP-адресом, что может быть справедливо для простой настройки:

 xdebug.remote_host=127.0.0.1

В качестве альтернативы вы можете указать Xdebug подключаться обратно к любому IP, который сделал первоначальный запрос

 xdebug.remote_connect_back=On

В следующей строке вы указываете, на каком порту слушает ваша IDE. По умолчанию это 9000, поэтому вам обычно не нужно будет устанавливать его, если только вам не нужно прослушивать нестандартный порт (например, отладить несколько проектов одновременно с разными интерпретаторами). Но обычно вы можете безопасно пропустить эту строку:

xdebug.remote_port=9000

После загрузки и включения модуля вы также можете настроить некоторые параметры Xdebug с помощью переменной среды. конкретно xdebug.remote_host, xdebug.remote_port, xdebug.remote_mode а также xdebug.remote_handler

Например:

export XDEBUG_CONFIG="remote_host=192.168.0.3 remote_port=9005"
6

Другие решения

  • xdebug не совместим с php7.3 для выпусков < 2,7
  • Вы можете установить бета-версию xdebug, совместимую с php7.3:
pecl install xdebug-beta

https://bugs.xdebug.org/view.php?id=1584

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector