set_time_limit - ¿Cómo aumentar el tiempo de espera de ejecución en php?
set_time_limit php (10)
Como complemento a las respuestas anteriores, puede usar la función set_time_limit()
:
http://php.net/manual/en/function.set-time-limit.php
pasar 0
como argumento hará que su script se ejecute sin límite de tiempo.
¿Cómo aumentar el tiempo de espera de la transacción? Quiero subir videos, pero ¿no se cargaron videos de gran tamaño?
Lanza error. The process *** exceeded the timeout of 60 seconds.
Deberías poder hacer durante el tiempo de ejecución también usando
set_time_limit(100);
http://php.net/manual/en/function.set-time-limit.php
o en su vhost-config
php_admin_value max_execution_time 10000
Tener un límite de tiempo de ejecución global bajo es sobre todo una buena idea por razones de rendimiento en aplicaciones no tan confiables. Por lo tanto, es posible que desee permitir que esas secuencias de comandos se ejecuten más tiempo de lo necesario.
ps: No te olvides de post_max_size y upload_max_filesize (como la primera respuesta dijo allready)
Necesita cambiar alguna configuración en su php.ini:
upload_max_filesize = 2M
;or whatever size you want
max_execution_time = 60
; also, higher if you must - sets the maximum time in seconds
Si su PHP.ini se encuentra depende de su entorno, más información: http://php.net/manual/en/ini.list.php
Para completar la respuesta de Hannes.
Necesita cambiar alguna configuración en su php.ini:
upload_max_filesize = 2M
;or whatever size you want
max_execution_time = 60
; also, higher if you must
Si alguien quiere poner en forma ilimitada (no sé por qué, pero si lo desea), puede poner el doble a 0:
Necesita cambiar alguna configuración en su php.ini:
upload_max_filesize = 0
max_execution_time = 0
Y si no sabes dónde está tu php.ini. Puedes hacer un archivo "name.php" en tu servidor y poner:
<?php phpinfo(); ?>
Y en su sitio web, puede ver la configuración de su php.ini y está marcado donde está.
Editar el 9 de enero de 2015:
Si no puede acceder a su php.ini, tiene dos opciones más.
Puede establecer esta línea directamente en su archivo "name.php", pero no encuentro upload_max_filesize para esta opción:
set_time_limit(0);
O en ".htaccess"
php_value upload_max_filesize 0
php_value max_execution_time 0
Primero compruebe la ruta del archivo php.ini por phpinfo (); y luego cambió los parámetros de PHP.INI:
upload_max_filesize = 1000M
memory_limit = 1500M
post_max_size = 1500M
max_execution_time = 30
restarted Apache
set_time_limit (0); // safe_mode está desactivado
ini_set (''max_execution_time'', 500); // 500 segundos
Nota : también puede usar el comando para buscar php.ini en Linux
locate php.ini
Pruebe si está en modo seguro; si no, establezca el límite de tiempo (Valor local) según lo que desee:
if(!ini_get(''safe_mode'')){
echo "safe mode off";
set_time_limit(180);// seconds
phpinfo();// see ''max_execution_time''
}
* No puede establecer el límite de tiempo de esta manera si el modo seguro está activado.
Sé que estás preguntando específicamente sobre el tiempo de espera de PHP, pero lo que nadie más parece haber mencionado es que también puede haber un tiempo de espera en el servidor web y puede parecer muy similar al tiempo de espera de PHP.
Entonces, si lo has intentado:
- Aumentando el tiempo de espera en php.ini agregando una línea: max_execution_time = {número de segundos, es decir, 60 por un minuto}
- Aumentando el tiempo de espera en su script añadiendo: ini_set (''max_execution_time'', ''{number of seconds ie 60 for one minute}'');
Y ha comprobado con la función phpinfo () que max_execution_time de hecho se ha incrementado, entonces es posible que desee intentar agregar esto a .htaccess que se asegurará de que Apache no tenga tiempo de espera:
RewriteRule .* - [E=noabort:1]
RewriteRule .* - [E=noconntimeout:1]
Más información aquí: https://www.antropy.co.uk/blog/php-script-keeps-timing-out-despite-ini-set/
Si no puede editar php.ini (en su servidor, por ejemplo) puede intentar cambiar los parámetros php.ini desde dentro de su código php. Tratar:
ini_set(''max_execution_time'', ''NUMBER OF SECONDS TO ALLOW BEFORE TIMEOUT'');
Si eso no funciona, intente también establecer ''set_time_limit'' de la misma manera, más allá de eso, diría que su única opción es ponerse en contacto con su host. Estas configuraciones no se pueden modificar en modo seguro.
Tuvo un error tipográfico: ini_set (''max_input_time'', ''200M'') - el conjunto de valores debe ser un int, como ini_set (''max_input_time'', ''200'')
si lo que necesita hacer es específico solo para 1 o 2 páginas, le sugiero usar http://php.net/manual/en/function.set-time-limit.php para que no afecte a toda la aplicación.
set_time_limit(some_values);
pero, por supuesto, estos 2 valores (post_max_size y upload_max_filesize) están sujetos a investigación.
usted puede configurarlo a través de la función ini_set
ini_set(''post_max_size'',''20M'');
ini_set(''upload_max_filesize'',''2M'');
o directamente en el archivo php.ini como la respuesta anterior de Hannes, o incluso configúrelo en .htaccess como a continuación
php_value upload_max_filesize 2M
php_value post_max_size 20M