Foros del Web » Programando para Internet » PHP »

Bucle con inserts se detiene

Estas en el tema de Bucle con inserts se detiene en el foro de PHP en Foros del Web. Hola. Tengo un programa que lee un xml que contiene clientes y por cada cliente inserta en la base de datos. El programa funciona bien ...
  #1 (permalink)  
Antiguo 09/02/2010, 15:54
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 20 años, 6 meses
Puntos: 4
Mensaje Bucle con inserts se detiene

Hola.

Tengo un programa que lee un xml que contiene clientes y por cada cliente inserta en la base de datos. El programa funciona bien y ya lo he usado mucho pero ahora me enviaron un XML muy grande (4mb) con 3000 clientes y no lo termina. El programa se detiene sin motivo aparente dejando la página en blanco como si fuera que no puede continuar.

Ya le subi al php.ini el max_execution_time a las de una hora pero a los minutos de haber empezado se detiene. Alguien sabe cual puede ser el motivo?

Esto también lo he notado en otro programa de envío masivo de mail donde por cada mail espera unos segundos y continúa. Pero cuando el bucle ya es muy largo también se detiene.
  #2 (permalink)  
Antiguo 09/02/2010, 16:01
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 4 meses
Puntos: 29
Respuesta: Bucle con inserts se detiene

Puedes cambiar el tamaño máximo de memoria por script.
Sino , solo te queda cortar el xml en dos cachos o tres (a mano mismamente) y luego como siempre.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 09/02/2010, 16:02
Avatar de andres013  
Fecha de Ingreso: febrero-2007
Ubicación: Bogotá Colombia
Mensajes: 222
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Bucle con inserts se detiene

Hola,

Trata de mirar en el php.ini el parametro max_input_time y mira en cuanto lo tienes.

Una pregunta, los inserts los estas haciendo separados o creas una gran cadena (wn array o en txt) para luego correrlos todos?
__________________
Desarrollando Web: La guía para los desarrolladores web
http://www.desarrollandoweb.com
  #4 (permalink)  
Antiguo 09/02/2010, 16:28
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 20 años, 6 meses
Puntos: 4
Respuesta: Bucle con inserts se detiene

Gracias por las respuestas.

Lo tengo así en el php.ini

max_execution_time = 4000
max_input_time = 4000
memory_limit = 128M

Por cada vuelta en el bucle realizo el insert.

Al parecer es el memory_limit. Le deje en 128 porque tenía entendido que era lo maximo. ahora le cambie a 1024M por ahí sera una locura pero pasó la cantidad de inserciones ya que antes solo importaba 300 clientes y ahora va por los 2000 ya y sigue.

Eso les parece que es conveniente configurarlo en el php.ini? o sería mejor hacerlo vía código php?

Etiquetas: bucle, detiene
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:14.