【发布时间】:2009-08-06 08:03:18
【问题描述】:
我在 Magento 中读取了调用堆栈,但由于字符串短缺,它们无法读取,例如:
include('/var/www/oneste...')
我怎样才能看到完整的字符串,在这种情况下是完整的路径?
【问题讨论】:
标签: php string exception message callstack
我在 Magento 中读取了调用堆栈,但由于字符串短缺,它们无法读取,例如:
include('/var/www/oneste...')
我怎样才能看到完整的字符串,在这种情况下是完整的路径?
【问题讨论】:
标签: php string exception message callstack
你有安装 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);
【讨论】:
默认情况下,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。
【讨论】: