Skip to content
Snippets Groups Projects
  1. Mar 28, 2023
  2. Mar 27, 2023
  3. Mar 26, 2023
  4. Mar 24, 2023
    • Alexander Nitsche's avatar
      [BUGFIX] Support parsing of XML files larger than 10 MB · b59986fc
      Alexander Nitsche authored
      EXT:impexp may run into memory limits when converting XML to PHP
      arrays, even before all PHP memory is used up, because libxml has a
      specific limit of 10 MB. This limit can be turned off by using the
      `XML_PARSE_HUGE` (libxml) or `LIBXML_PARSEHUGE` (PHP) option, but
      only for the DOMDocument implementation of libxml, and not for the
      current XmlParser implementation.
      
      By replacing the XmlParser implementation with a DOMDocument
      implementation, larger XML files can be parsed with lower peak memory
      consumption as a side effect. For example, parsing a 4 MB dummy XML
      file consumes
      
      56.03 MB (memory) / 168.72 MB (memory peak)
      
      with the XmlParser, while using DOMDocument reduces the consumption to
      
      56.15 MB (memory) / 60.08 MB (memory peak).
      
      Besides the replacing of the implementation, XML parsing has been moved
      to separate classes (Typo3XmlSerializer / Typo3XmlParser), fully covered
      by tests, and restructured to reduce the number of required parameters to
      a minimum. The functional scope was not reduced in any way.
      
      Resolves: #83580
      Releases: main, 11.5
      Change-Id: Ic3345d539f028d766b49d01096ec34a6190a6dfe
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/78249
      
      
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Tested-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
      Reviewed-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
      b59986fc
  5. Mar 22, 2023
  6. Mar 20, 2023
  7. Mar 18, 2023
  8. Mar 17, 2023
  9. Mar 16, 2023
  10. Mar 14, 2023
  11. Mar 13, 2023
  12. Mar 09, 2023
  13. Mar 08, 2023
  14. Mar 07, 2023
  15. Mar 06, 2023
  16. Mar 05, 2023
  17. Mar 03, 2023
  18. Mar 02, 2023