php - просто XML пытается понять, что использует память - PullRequest
0 голосов
/ 10 января 2020

Ситуация. Я загружаю и обрабатываю несколько xml файлов. Загрузите первый файл.

Откройте его с помощью $xml_file = simplexml_load_file( dirname(__FILE__). '/_downloaded_files/filename.xml' );

Go через файл, создайте переменные для вставки в mysql, вставьте в mysql. Сделайте то же самое со следующими xml файлами.

После того, как я обработал открытый файл xml, я сбросил (установил нулевые) переменные. Как $xml_file = null; Пробовал также как unset($xml_file);, не видел никакой разницы. Где-то нашел совет использовать gc_enable(); gc_collect_cycles();, тоже без разницы (без эффекта).

После выполнения кода mysql также установить в ноль все используемые переменные.

В результате echo '<pre>', print_r(get_defined_vars(), true), '</pre>'; увидел как

[one_variable] => 
[another_variable] => 1

Я видел много (~ 100) переменных с пустым содержимым (или одно короткое значение для переменной).

Но с echo (memory_get_peak_usage(false)/1024/1024); см. 38.01180267334 MiB memory used.

Может кто-нибудь посоветовать, где проблема? ~ 100 пустых переменных не могут использовать 38 мегабайт ... Что еще может использовать память?

...