我在Magento中读取了调用堆栈,但由于字符串不足而无法读取,例如:
include('/var/www/oneste...')
如何查看完整字符串,在这种情况下是完整路径?
答案 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。