diff --git a/reference/xml/constants.xml b/reference/xml/constants.xml index b5368699c10d..1d246a8062b0 100644 --- a/reference/xml/constants.xml +++ b/reference/xml/constants.xml @@ -257,6 +257,19 @@ + + + XML_OPTION_PARSE_HUGE + (int) + + + + Available as of PHP 8.4.0. + When libxml2 < 2.7.0 is used (e.g. on PHP 7.x), + this option is enabled by default and cannot be disabled. + + + XML_OPTION_TARGET_ENCODING diff --git a/reference/xml/functions/xml-parser-get-option.xml b/reference/xml/functions/xml-parser-get-option.xml index 0c9148bbcae9..d9ada9615d27 100644 --- a/reference/xml/functions/xml-parser-get-option.xml +++ b/reference/xml/functions/xml-parser-get-option.xml @@ -35,6 +35,7 @@ Which option to fetch. XML_OPTION_CASE_FOLDING, + XML_OPTION_PARSE_HUGE, XML_OPTION_SKIP_TAGSTART, XML_OPTION_SKIP_WHITE and XML_OPTION_TARGET_ENCODING are available. See xml_parser_set_option for their description. diff --git a/reference/xml/functions/xml-parser-set-option.xml b/reference/xml/functions/xml-parser-set-option.xml index 258c30922836..5744cf763a66 100644 --- a/reference/xml/functions/xml-parser-set-option.xml +++ b/reference/xml/functions/xml-parser-set-option.xml @@ -59,6 +59,16 @@ XML parser. Enabled by default. + + XML_OPTION_PARSE_HUGE + bool + + Allows parsing documents larger than 10 MB. + This option should only be enabled when the document size is + bounded because this could otherwise lead to a DoS. + This option is only available when using libxml2. + + XML_OPTION_SKIP_TAGSTART integer @@ -135,6 +145,12 @@ + + 8.4.0 + + Added the option XML_OPTION_PARSE_HUGE. + + 8.3.0