【问题标题】:How to keep Zend_Debug HTML tags out of Zend_Log如何将 Zend_Debug HTML 标记排除在 Zend_Log 之外
【发布时间】:2011-09-21 00:00:49
【问题描述】:

我使用 Zend_Debug::dump 将变量转储到 Zend_Log 文件中。如何让它停止将输出包装在 HTML 标记中?

文档说“如果输出流被检测为 Web 演示文稿,则使用 » htmlspecialchars() 转义 var_dump() 的输出并使用 (X)HTML 标记进行包装。”为什么它认为我的日志文件是网络演示文稿?

转储函数的方法有一个布尔 $echo 标志。即使这是 FALSE,我的日志文件中也会有 HTML 标记。

感谢您的帮助!

【问题讨论】:

    标签: zend-framework zend-log


    【解决方案1】:

    Zend Debug 总是使用 htmlspecialchars() 来引用。您不能通过提供的参数禁用此功能。

    “echo”的布尔值仅用于禁用 var_dump()(在 Zend_Debug 中使用)打印到浏览器。

    来自 Zend_Debug::dump() 的代码:

    $output = htmlspecialchars($output, ENT_QUOTES);

        if (self::getSapi() == 'cli') {
            $output = PHP_EOL . $label
                    . PHP_EOL . $output
                    . PHP_EOL;
        } else {
            if(!extension_loaded('xdebug')) {
                $output = htmlspecialchars($output, ENT_QUOTES);
            }
    
            $output = '<pre>'
                    . $label
                    . $output
                    . '</pre>';
        }
    

    【讨论】:

    • 谢谢。那么您在查看日志时是否只是浏览了 html 标签?还是您登录数据库?
    • 不使用:error_log(print_r($error, true));而不是 zend 调试 ;)
    猜你喜欢
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多