Можно ли заставить ошибки PHP выглядеть лучше?Может ли Stack отслеживать вывод на отдельных строках? - PullRequest
6 голосов
/ 14 октября 2011

Сейчас PHP просто выводит что-то подобное на страницу:

Неустранимая ошибка: невозможно повторно объявить Cms \ getItemHierarchy () (ранее объявлено в /home/cartman/Development/cmsdev/engine_1.0/Cms/Menu.php:62) в /home/cartman/Development/cmsdev/engine_1.0/Cms/Menu.php в строке 62 Стек вызовов: 0,0001 634424 1. {main} () /home/cartman/Development/cmsdev/public_normal/index.php:0 0,0037 757768 2. Bootstrap :: run () /home/cartman/Development/cmsdev/public_normal/index.php:7 0,0037 757768 3. Cms \ Front-> dispatch () /home/cartman/Development/cmsdev/data_production/bootstrap.php:94 0,0043 781512 4. frontendController-> contactusAction () /home/cartman/Development/cmsdev/engine_1.0/Cms/Front.php:367 0,0051 817152 5. plugins \ m3nu \ api-> renderMenu ($ configName = 'bottom', $ activeItem = 'contactme') /home/cartman/Development/cmsdev/data_production/controllers/frontendController.php:43 0,0052 825392 6. Cms \ Menu-> generateMenu () /home/cartman/Development/cmsdev/public_normal/plugins/m3nu/api.php:29 0,0052 825392 7. Cms \ Menu-> preParseConfig () /home/cartman/Development/cmsdev/engine_1.0/Cms/Menu.php:121

Есть ли способ сделать вывод более организованным, по крайней мере, вывести трассировку стека на отдельных строках?

Ответы [ 3 ]

6 голосов
/ 14 декабря 2013

Вы также можете обновить php.ini , добавив в него некоторое форматирование HTML.

<code>html_errors = On
error_prepend_string = "<pre style='color: #333; font-face:monospace; font-size:8pt;'>"
error_append_string = "
"

Или, если вы предпочитаете устанавливать их во время выполнения, включите в начало вашего скрипта (ов) следующее:

<code>ini_set("html_errors", 1); 
ini_set("error_prepend_string", "<pre style='color: #333; font-face:monospace; font-size:8pt;'>"); 
ini_set("error_append_string ", "
");
4 голосов
/ 14 октября 2011

Похоже, это трассировка стека XDebug. Попробуйте установить trace_format в php.ini:

xdebug.trace_format = 2 # HTML formatting
4 голосов
/ 14 октября 2011

Если вы просматриваете их из браузера, вы можете заключить их в теги

, которые по существу будут представлять ваши символы новой строки как разрывы строк.В противном случае, если вы просматриваете за пределами DOM, то есть в консоли или в программе просмотра исходного кода, вы обнаружите, что они уже отформатированы «красиво»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...