【问题标题】:Php error log shortens stringsphp错误日志缩短字符串
【发布时间】:2009-08-06 08:03:18
【问题描述】:

我在 Magento 中读取了调用堆栈,但由于字符串短缺,它们无法读取,例如:

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

我怎样才能看到完整的字符串,在这种情况下是完整的路径?

【问题讨论】:

    标签: php string exception message callstack


    【解决方案1】:

    你有安装 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);
    

    【讨论】:

    • 确保不要将上述设置放入生产服务器。如果没有安装 xdebug,它可能会吐出错误或其他东西。
    • 并确保您的生产服务器上没有安装 Xdebug :它不知道对 CPU 使用情况是否友好 ^^
    【解决方案2】:

    默认情况下,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。

    【讨论】:

      猜你喜欢
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      • 2018-10-12
      • 2017-11-11
      • 2013-04-23
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      相关资源
      最近更新 更多