Foros del Web » Programando para Internet » PHP »

max_execution_time & memory_limit

Estas en el tema de max_execution_time & memory_limit en el foro de PHP en Foros del Web. Hola a todos, En el php.ini tengo puestas lass siguientes directivas: max_execution_time = 30; memory_limit = 8M; Pero hay una cosa que no entiendo. Tengo ...
  #1 (permalink)  
Antiguo 12/04/2004, 08:51
jcorba
Invitado
 
Mensajes: n/a
Puntos:
max_execution_time & memory_limit

Hola a todos,

En el php.ini tengo puestas lass siguientes directivas:
max_execution_time = 30;
memory_limit = 8M;

Pero hay una cosa que no entiendo.
Tengo un script que lo que hace es sacar por la salida estandar un fichero de 100 Mb usando la función readfile, la cual la llamo con @readfile($mi_fichero).

Pues resulta que la entrega de dicho fichero tarda mas de los 30 segundos que tengo puestos y aún así funciona sin problemas...no lo entiendo..en que me he perdido??

Y además si miro el porceso en ejecución veo que tengo un httpd el cual va consumiendo tanta memoria como ocupa el fichero a entregar, en mi caso el proceso termina usnado 110Mb. Una vez entregado el fichero, el proceso termina liberando dicha memoria. Por que pasa esto??
  #2 (permalink)  
Antiguo 12/04/2004, 09:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Y además si miro el porceso en ejecución veo que tengo un httpd el cual va consumiendo tanta memoria como ocupa el fichero a entregar, en mi caso el proceso termina usnado 110Mb. Una vez entregado el fichero, el proceso termina liberando dicha memoria. Por que pasa esto??
El proceso lo controla el servidor HTTP y PHP "supervisa" el upload para tener el control de cuando terminó de subir .. por eso la vida y consumos de ese rescurso va incrementandose según se reciben los datos y muere cuando se termina y se le dá destino definitivo al archivo subido .. Date cuenta que por el momento hasta que termina la ejecución del script .. todo lo que sube queda en $_FILES['nombrearchivo'] .. (en un array - memoria).


-----

Las restricciónes qeu tienes en tu php.ini .. deberían mostrar los mensajes de error según sobrepases esos 30 segundos de tiempo de ejecución y la memoria consumida por el script (entre otras directivas que restringen lo que puedes subir al servidor).

Si le quitas los @ a las funciones que tengas .. tal vez veas los errores que se están probocando pero no ves (lo mismo puedes controlar los mensajes de error con la función error_reporting() que podría probar a usar en fase de desarrollo como E_ALL para ver todo error que se origine ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 12/04/2004, 10:09
jcorba
Invitado
 
Mensajes: n/a
Puntos:
Hola Cluster,

He encontrado la respuesta en http://es2.php.net/manual/en/feature...functions.php:

max_execution_time Has no affect when PHP is running in safe mode.

Resulta que tengo dos servidores, unos con el safe mode activo y otro no.
En el que tengo activo el safe mode es donde yo comentaba que el max_execution_time no funcionaba.
En el que tengo el safe_mode=off aquí si funciona dicha directiva y a los 30 segundos de ejecución del script aparece lo siguiente en el log del php:

[12-Apr-2004 17:19:19] PHP Fatal error: Maximum execution time of 30 seconds exceeded in c:\webserver\download.php on line 83

Un saludo
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 04:39.