Я установил 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
Не уверен, почему это не работает.
(В оригинальной версии вашего вопроса ваша конфигурация была закомментирована, теперь вы отредактировали этот фрагмент, оставив несколько следующих абзацев как бы вне цикла)
Несмотря на документацию заявив, что имеет характер (#
) больше не распознается как действительный символ комментария, начиная с PHP 7.0:
Похоже, что php с удовольствием обработает эти строки, как тем не менее, в комментариях к файлам конфигурации. Все, что касается хэша, интерпретатор игнорирует.
Таким образом, эти строки конфигурации совершенно неэффективны.
Чтобы убедиться, что ваша конфигурация загружается, создайте простой файл, подобный следующему:
<php
phpinfo();
Загрузка этого файла расскажет вам все о конфигурации PHP. Если Xdebug был успешно загружен, вы увидите что-то вроде этого:
И внизу загружены настройки конфигурации:
Это наиболее важные параметры, которые фактически загружают и включают расширение 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"
pecl install xdebug-beta