Предварительный просмотр Xdebug Chrome неправильно отображает ответ, показывает только одну строку - PullRequest
0 голосов
/ 15 февраля 2019

Предварительный просмотр Chrome не отображает ответ должным образом, так как вчера, когда я обновил рабочую машину с Win 8 до Win 10. Пожалуйста, смотрите скриншоты:

enter image description here

enter image description here

Как видите, отображается только одна строка объекта, когда я попробовал его с простым массивом, произошло то же самое, только слово"array" и "0";

Я использую Chrome 72.0.3626.96, WampServer64 с PHP 7.2.14, и это мои настройки Xdebug в php.ini:

zend_extension="c:/wamp64/bin/php/php7.2.14/zend_ext/php_xdebug-2.6.1-7.2-vc15-x86_64.dll"

xdebug.default_enable=1
html_errors = On
xdebug.remote_host = 127.0.0.1
xdebug.remote_enable = 1
xdebug.remote_port = 9123
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir ="c:/wamp64/tmp"
xdebug.show_local_vars=0
xdebug.var_display_max_depth = 10
xdebug.var_display_max_children = 256
xdebug.var_display_max_data = 1024 

Itработал буквально за день до того, как я получил Windows 10. Chrome ошибка или я что-то не так делаю?

1 Ответ

0 голосов
/ 27 февраля 2019

Я нашел проблему, и она довольно странная.Похоже, что в последней версии Chrome (72.0.3626.119 для меня) возникли проблемы с отображением предварительного просмотра, когда текст ответа содержит хеш-символ (#) в выходных данных.Он будет радовать все, пока не встретит хеш-символ.Это определенно ошибка в Chrome.

Я обнаружил это, сначала заметив, что предварительный просмотр останавливается на <font color='#888a85'>=&gt;</font>.Я жестко закодировал это в документе и удалял символы, пока не пришел к выводу, что проблема связана с хэш-символом.

Вот демонстрационная версия ошибки.Когда вы запускаете этот фрагмент в последней версии Chrome и с открытым Инспектором, вы должны увидеть всплывающий запрос на вкладке сети.Если щелкнуть запрос и перейти на вкладку предварительного просмотра, третий абзац обрезается, поскольку перед ним стоит #.

<p>Para1</p>
<p>Para2</p>
#
<p>Para3</p>

Мне не удалось найти открытый отчет об ошибке по этому поводу, поэтому я позволил себе сообщить об этом здесь: https://bugs.chromium.org/p/chromium/issues/detail?id=936284

Это выглядитКак об этой проблеме уже сообщалось ( ссылка ) и исправлено в dev-версии Chrome, но еще не было обновлено в стабильной версии.

Тем временем, если вам действительно нужночтобы var_dump работал в Chrome, вы можете сделать это как обходной путь (буферизировать вывод и заменить экземпляры #):

ob_start();
var_dump($var);
echo str_replace('#','',$ob_get_clean());

... или вы можете просто отключить ошибки HTML:

ini_set('html_errors', false);
...