PHP - Leer archivo grande y manipularlo

 
Vista:
sin imagen de perfil

Leer archivo grande y manipularlo

Publicado por Federico (2 intervenciones) el 18/12/2015 18:31:05
Hola. Tengo un archivo de texto grande de 100mb. El archivo posee 1600000 lineas, en cada linea hay un proveedor con sus porcentajes de impuestos. Necesito manipular 1600 proveedores que tengo en la DB y actualizar sus impuestos. Es decir los 1600 proveedores de la DB los tiene que comparar 1 a 1 con cada linea del archivo.

Intento solo leer el archivo e imprimirlos y se me muere el programa. Llega a procesar unos 7 minutos y medio y tira un error 500. Pero en el log de apache no aparece el error.

Hay alguna forma de leer el archivo por partes? Ya le subi los tiempos en los archivos de configuracion pero aun asi el programa muere.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ximena

Leer archivo grande y manipularlo

Publicado por Ximena (1 intervención) el 18/12/2015 19:17:57
Hola Federico, para ello, la manera correcta es utilizar el PHP desde consola, sin utilizar el servidor web, ya que puede saturarlo o finalizar por timeout, o saturar la memoria definida para PHP, etc... desde la consola esos problemas desaparecen.

Has probado a ejecutarlo desde la consola?

Como lees el contenido del archivo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Leer archivo grande y manipularlo

Publicado por Federico (2 intervenciones) el 18/12/2015 19:21:15
No no probe desde la consola, es que es un sistema web, trabajo en una instancia EC2 y los usuarios deberian hacerlo semanalmente. Se que el problema es con el navegador. Pensaba en algo como darle un sleep cada ciertas lineas pero aun asi, no lo logro.

Voy a intentar como decis por consola y te cuento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar