【问题标题】:XML_PARSE_HUGE on function simplexml_load_string()函数 simplexml_load_string() 上的 XML_PARSE_HUGE
【发布时间】:2011-07-22 15:11:28
【问题描述】:

常量XML_PARSE_HUGE 可以作为第三个参数传递给simplexml_load_string()。根据php.net这个标志:

放宽解析器的任何硬编码限制。

什么是“解析器的默认硬编码限制”?

我认为放松也有点模棱两可。它是消除还是增加“硬编码限制”?

【问题讨论】:

    标签: php xml simplexml libxml2


    【解决方案1】:

    时间已经改变: http://php.net/manual/en/libxml.constants.php

    LIBXML_PARSEHUGE - 设置 XML_PARSE_HUGE 标志,放宽任何 来自解析器的硬编码限制。这会影响最大值等限制 文档或实体递归的深度,以及 文本节点的大小。
    仅在 Libxml >= 2.7.0 中可用(从 PHP >= *5.3.2 和 PHP >= 5.2.12)*

    //example of use
    $xmlDoc = new DOMDocument();
    $xmlDoc->loadXML( $xml , LIBXML_PARSEHUGE );
    

    【讨论】:

      【解决方案2】:

      来自http://bugs.php.net/49660

      自 2.7.3 版以来,libxml 限制了 单个文本节点的最大大小为 10MB。限制可以删除 新选项 XML_PARSE_HUGE。 PHP 没有 为 libxml 指定此选项的方法。

      所以我想这个标志是 PHP 现在必须指定这个选项的方式。

      【讨论】:

        猜你喜欢
        • 2013-02-14
        • 1970-01-01
        • 2015-09-21
        • 1970-01-01
        • 1970-01-01
        • 2012-01-07
        • 1970-01-01
        • 2023-04-09
        • 2013-10-11
        相关资源
        最近更新 更多