script - limitar tiempo de ejecucion php
Error fatal: tiempo de ejecución máximo de 30 segundos excedido (15)
Estoy descargando un archivo JSON de una fuente en línea y cuando se ejecuta a través del bucle recibo este error:
Error grave: Tiempo de ejecución máximo de 30 segundos excedido en C: / wamp / www / temp / fetch.php en la línea 24
Aumente el tiempo de ejecución de su script agregando la siguiente línea en la parte superior del script PHP.
ini_set(''max_execution_time'', 120); //120 seconds = 2 minutes
La referencia se ha tomado de Aumentar el tiempo de ejecución del script PHP
Cando fácilmente con whm. jusst llegó a lo que -----> configuración de servicio ----------> editor de configuración de php ------- max_execution_time -----> 30 (es predeterminado cambiarlo a cualquier valor tu quieres)
Editar php.ini
Encuentra esta línea:
php_value max_execution_time 300 //where 300 = 300 seconds = 5 minutes
Cambia su valor a 300:
max_execution_time
300 significa 5 minutos de tiempo de ejecución para la solicitud http.
Me encontré con este problema al actualizar a WordPress 4.0 . Por defecto, WordPress limita el tiempo máximo de ejecución a 30 segundos.
Agregue el siguiente código a su archivo .htaccess en su directorio raíz de su instalación de WordPress para anular el valor predeterminado.
max_execution_time = 300
Para extender su max_execution_time
puede usar ini_set
o set_time_limit
.
// Set maximum execution time to 10 seconds this way
ini_set(''max_execution_time'', 10);
// or this way
set_time_limit(10);
!! Pero tenga en cuenta que, ambas funciones se reinician también contando el tiempo que el script ya ha tardado en ejecutarse
sleep(2);
ini_set(''max_execution_time'', 5);
register_shutdown_function(function(){
var_dump(microtime(true) - $_SERVER[''REQUEST_TIME_FLOAT'']);
});
for(;;);
//
// var_dump outputs float(7.1981489658356)
//
por lo tanto, si desea establecer la cantidad máxima de tiempo que puede ejecutarse el script, su comando debe ser el primero.
Las diferencias entre esas dos funciones son
-
set_time_limit
no devuelve información si fue exitosa pero arrojará una advertencia en caso de error. -
ini_set
devuelve el valor antiguo en caso de éxito, o falso en caso de error sin ninguna advertencia / error
Podemos resolver este problema de 3 maneras diferentes.
1) Usando el archivo php.ini
2) Usando el archivo .htaccess
3) Usando el archivo Wp-config.php (para Wordpress)
Para más detalles -> paso a instalar
Puede eliminar la restricción configurándola en cero agregando esta línea en la parte superior de su script:
<?php ini_set(''max_execution_time'', 0); ?>
Si todo lo anterior no funcionó para usted, a continuación, agregue un archivo .htaccess
al directorio donde se encuentra su script y colóquelo dentro.
<IfModule mod_php5.c>
php_value post_max_size 200M
php_value upload_max_filesize 200M
php_value memory_limit 300M
php_value max_execution_time 259200
php_value max_input_time 259200
php_value session.gc_maxlifetime 1200
</IfModule>
esta fue la forma en que resolví mi problema, ni ini_set(''max_execution_time'', 86400);
ni set_time_limit(86400)
resolvió mi problema, pero el método .htaccess lo hizo.
Siga la ruta /etc/php5(your php version)/apache2/php.ini
.
Ábralo y establezca el valor de max_execution_time
a uno deseado.
Su guión se está agotando. Eche un vistazo a la función set_time_limit() para aumentar el tiempo de ejecución. O perfilar el script para que se ejecute más rápido :)
Tal vez compruebe si ha cambiado algo en el archivo php.ini. Por ejemplo, cambié "; intl.default_locale =" a "; intl.default_locale = en_utf8" para habilitar la "Extensión de internacionalización (Intl)" sin agregar la "extension = php_intl.dll" y se produjo el mismo error. Por eso te sugiero que busques errores similares.
Tengo el mismo problema en el sitio de WordPress, agregué en el archivo .htaccess y luego funcioné bien para mí.
php_value max_execution_time 6000000
Todas las respuestas anteriores son correctas, pero en algunos casos utilizo una forma sencilla de evitarlo.
Simplemente ponga este comando al comienzo de su script:
set_time_limit(0);
Tu bucle puede ser interminable. Si no es así, podría extender el tiempo máximo de ejecución de esta manera:
ini_set(''max_execution_time'', 300); //300 seconds = 5 minutes
Tuve el mismo problema y lo resolví cambiando el valor para el max_execution_time
en php.ini
, como este:
max_execution_time = 360 ; Maximum execution time of each script, in seconds (I CHANGED THIS VALUE)
max_input_time = 120 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB by default)
Espero que esto pueda ayudarte.