Tengo un script php que necesita ejecutarse por bastante tiempo.php/timeout/connection to server reset?
Lo que hace el script:
- conecta a MySQL
- inicia en cualquier lugar de 100 a 100.000 cURL solicita
- cada solicitud curvatura devuelve datos compactos decodificado de 1 a 2.000 listados de bienes raíces - yo uso preg-match-all para obtener todos los datos y hacer una inserción de mysql por listado. cada consulta nunca excede más de 1mb de datos.
De modo que hay muchos bucles, inserciones de mysql y solicitudes de curl en curso. El modo seguro php está desactivado y puedo instalar con éxito el tiempo máximo de ejecución en algo ridículo para permitir que mi script se ejecute completamente.
Bueno, mi problema es que el script o apache o algo está teniendo un trazo en el medio de la secuencia de comandos y la pantalla va a la pantalla "conexión con el servidor se ha restablecido".
¿Alguna idea?
sí, ahora veo que necesito aumentar el límite de memoria, pero ¿es esta una mala idea? – Mickey
@John: Sí y no. No lo configure más alto de lo que lo necesita todo el tiempo, ya que evita que los errores de script se ejecuten para siempre. ¡Imagínese si apaga el limitador de tiempo de ejecución de scripts y el límite de memoria y accidentalmente ejecuta un script con un bucle infinito! Moraleja de la historia aquí: utilícela con moderación para situaciones como esta, donde nada más funcionaría si no fuera por escribirla para distribuirla o ejecutarla a lo largo del tiempo. Por cierto, el segundo comentario de Timdev sobre la configuración de un sistema de colas de trabajos, esa es realmente la manera de hacerlo. –
Esta fue una mejor respuesta que la mía - Olvidé que podía anular 'memory_limit' usando' ini_set' – Josh