tengo el siguiente código:memoria de errores con succión para json_parse con PHP
<?php
$FILE="giant-data-barf.txt";
$fp = fopen($FILE,'r');
//read everything into data
$data = fread($fp, filesize($FILE));
fclose($fp);
$data_arr = json_decode($data);
var_dump($data_arr);
?>
El archivo gigante-data-barf.txt es, como su nombre indica, un archivo enorme (es 5.4MB en este momento, pero que podría ir hasta varios GB)
Cuando ejecuto este guión, me sale el siguiente error:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in ........./data.php on line 12
miré a posibles soluciones, y vi esto:
ini_set('memory_limit','16M');
y mi pregunta es, ¿hay un límite en lo grande que debo configurar mi memoria? ¿O hay una mejor manera de resolver este problema?
Esto puede no ser un trabajo PHP es perfectamente adecuado para. ¿Puedes usar herramientas de línea de comando? –
almacenamiento de archivos planos de un archivo de ese tamaño va a causar muchos problemas. Use sqlite o mysql. si el archivo contiene solo una variable que ha sido codificada json y es tan grande, es poco probable que puedas resolver esto. json no está diseñado para archivos tan grandes. Usar una base de datos, o almacenarla en CSV, o almacenar cada fila en json en lugar de todo – Jason
El único problema es que alguien me está exportando la base de datos completa en formato JSON ... –