是否有可能使PHP错误看起来更好?可以在单独的行上堆叠跟踪输出吗?

Sta*_*ann 6 php formatting

现在PHP只是在页面上转储这样的东西:

致命错误:无法在/home/cartman/Development/cmsdev/engine_1.0/Cms中重新声明Cms\getItemHierarchy()(之前在/home/cartman/Development/cmsdev/engine_1.0/Cms/Menu.php:62中声明)第62行上的/Menu.php调用堆栈: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/engin e_1.0/CMS/Menu.php:121

有没有办法让输出看起来更有条理,至少在单独的行上打印堆栈跟踪?

Eri*_*thi 6

您还可以更新php.ini以包含一些格式HTML。

html_errors = On
error_prepend_string = "<pre style='color: #333; font-face:monospace; font-size:8pt;'>"
error_append_string = "</pre>"
Run Code Online (Sandbox Code Playgroud)

或者,如果您希望在运行时进行设置,请在脚本顶部添加以下内容

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 ", "</pre>"); 
Run Code Online (Sandbox Code Playgroud)


net*_*der 5

这似乎是 XDebug 堆栈跟踪。尝试在以下位置设置trace_formatphp.ini

xdebug.trace_format = 2 # HTML formatting
Run Code Online (Sandbox Code Playgroud)

  • 哦 - 我还必须在 php.ini 中设置 html_errors=On 才能让 xdebug 使用漂亮的橙色格式。对我有用。 (2认同)