xdebug не работает после установки и настройки php - PullRequest
0 голосов
/ 01 ноября 2018

Я установил 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

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

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019
  • xdebug не совместим с php7.3 для выпусков <2.7 </li>
  • Вы можете установить бета-версию xdebug, совместимую с php7.3:
pecl install xdebug-beta

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

0 голосов
/ 07 ноября 2018

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

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

PHP Changelog

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

Так что эти строки конфигурации совершенно неэффективны.

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

<php
phpinfo();

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

phpinfo output

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

phpinfo output

Это наиболее важные настройки, которые фактически загружают и включают расширение 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"
...