Выдает ошибку по памяти XMLReader::XML?

Добрый день , выдает ошибку о недостатки памяти ? объявляю две переменные $xmlReader = new XMLReader() и получаю ошибку Warning: XMLReader::XML(): Memory allocation failed : growing buffer
Кусочек программы где объявляю переменные
$mas_xml= file_get_contents('Price.xml');
	$xmlReader = new XMLReader();
	$xmlReader->xml($mas_xml);
    while ( $xmlReader->read() &&  $xmlReader->name !== 'categories');
    $node = new SimpleXMLElement($xmlReader->readOuterXML());

 $mas_xml2=file_get_contents('GoodsProperties.xml');
$xmlReader_descriptions = new XMLReader();
 $xmlReader_descriptions->xml($mas_xml2);
 while ( $xmlReader_descriptions->read() &&  $xmlReader_descriptions->name !== 'properties');

 $node_descriptions = new SimpleXMLElement($xmlReader_descriptions->readOuterXML());
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
nokimaro
@nokimaro Куратор тега PHP
Увеличить лимит памяти на работу скрипта, например до 2гб
<?php
ini_set("memory_limit", "2056M"); //выделяем 2Гб памяти на работу скрипта


Либо научиться как парсить XML потоково. Успешно таким образом парсил XML по 50Gb размером.
https://drib.tech/programming/parse-large-xml-files-php
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы