PHP错误日志缩短了字符串

时间:2009-08-06 08:03:18

标签: php string exception message callstack

我在Magento中读取了调用堆栈,但由于字符串不足而无法读取,例如:

include('/var/www/oneste...')

如何查看完整字符串,在这种情况下是完整路径?

2 个答案:

答案 0 :(得分:2)

你安装了xdebug吗?如果是,请尝试以下方法:

ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
ini_set('xdebug.collect_vars', 'on');
ini_set('xdebug.collect_params', '4');
ini_set('xdebug.dump_globals', 'on');
ini_set('xdebug.dump.SERVER', 'REQUEST_URI');
ini_set('xdebug.show_local_vars', 'on');

/* Enable XDebug stack traces */
ini_set('xdebug.auto_trace', 1);
ini_set('xdebug.var_display_max_depth', 100);
ini_set('xdebug.var_display_max_children', 500);
ini_set('xdebug.var_display_max_data', 5000);

答案 1 :(得分:1)

默认情况下,在PHP中,未捕获的异常会引发致命错误并包含有限的错误字符串,我认为仅限于1024个字符。例外情况包括大量的跟踪信息,所以这通常会在它到达有趣位时切断!这是PHP中任何OO应用程序存在的问题,而不仅仅是Magento。

要解决此问题,您需要自己处理错误并对其进行操作(即记录到文件,通过电子邮件发送等等)。有关如何执行此操作的文档存在于http://uk.php.net/manual/en/function.set-exception-handler.php

一个很好的开发技术(不在实时服务器上使用)是Harry Fuecks的Pretty Blue Screen。只需将其包含在要访问的第一个PHP文件中,它将显示有关任何未捕获异常的大量有用信息。

http://www.sitepoint.com/blogs/2006/04/04/pretty-blue-screen/

Magento也有可能有自己的错误处理方式,但我不太熟悉它。

您可能希望在此帖子中添加标记例外和OO。