2010-03-24 10 views
8

Este problema me vuelve loco, porque max_execution_time en php.ini y en htaccess e informado de php es definitivamente más alto que el informe en el mensaje de advertencia.PHP max_execution_time ignorado (sin modo seguro, sin host compartido, solo localhost/windows7/php 5.3.1 y Apache timeout es 300)

<?php 
echo "Max execution time: ".ini_get("max_execution_time")."<br />"; 
while(true) 
{ 
    sleep(1); 
} 
?> 

de salida:

Max tiempo de ejecución: 240

error fatal: tiempo de ejecución máximo de 60 segundos superado en C: \ xampp \ htdocs \ timetest.php en la línea 5

Respuesta

Sí, parece ser un error: max_input_time sobrescribe max_execution_ ¡hora!

.htaccess:

php_value max_execution_time 240 
php_value max_input_time 111 

timetest.php:

<?php 
echo "Max execution time: ".ini_get("max_execution_time")."<br />"; 
echo "Max input time: ".ini_get("max_input_time")."<br />"; 
while(true) 
{ 
    sleep(1); 
} 
?> 

salida (prueba):

Max tiempo de ejecución: 240

tiempo de entrada máxima: 111

Error fatal: se excedió el tiempo máximo de ejecución de 111 segundos en C: \ xampp \ htdocs \ timetest.php en la línea 6

¡Gracias por la ayuda!

+0

una pregunta sobre su pregunta. ¡Yo solía pensar que el tiempo máximo de ejecución que muestra que el navegador está configurado por el navegador, y puede diferir del valor en php.ini! ¿pensé mal? – Simon

+0

@Syom - max_execution_time no está configurado por el navegador, es el valor de php.ini. Los navegadores tienen sus propios tiempos de espera (para detener los scripts maliciosos), pero son irrelevantes en este escenario. El valor de php.ini puede diferir en el navegador y en la línea de comando porque apache usa un php.ini diferente del modo de línea de comando. – pinaki

+0

@pinaki así que si vi el mensaje "Se excedió el tiempo máximo de ejecución de 60 segundos", eso significa que 60 segundos se establecieron en php.ini en apache? – Simon

Respuesta

5

Es un error de PHP. Informó aquí http://bugs.php.net/48949

Editar: Encontré que max_input_time sobreescribe el tiempo máximo de ejecución. Este debe ser el problema con usted.

+0

Parece que la versión 5.3.1 tenía este problema/error. Será arreglado con 5.3.1. http://bugs.php.net/bug.php?id=49868&edit=1 – pinaki

Cuestiones relacionadas