Ir al contenido principal

Fatal error: Maximum execution time of 30 seconds Apache

S

i estás ejecutando un código que hace muchas consultas o requiere mucho tiempo en su ejecución puede que no sea capaz de ejecutarlo antes delos 30 segundos que tiene configurado el servidor, por defecto, como tiempo máximo para cargar una página.

En caso de superar este tiempo, nos dará el siguiente error: Fatal error: Maximum execution time of 30 seconds exceeded in [...]

Antes de realizar ningún cambio debemos tener mucho cuidado y evitar hacerlo en un servidor que esté en producción (que esté publicado en internet). Este tiempo se establece como medida de seguridad y en caso de prolongarlo sin ser explicitamente necesario, puede ser un punto vulnerable y por tanto un foco de ataques.

Revisa que el problema no se deba a una mala implementación del código y no esté metido en un bucle infinito ni similar.

Para cambiar el tiempo máximo de ejecución existen dos formas:

1. Cambiarlo en el archivo de configuración php.ini del servidor

Donde debemos cambiar el valor del siguiente parámetro por el que consideremos oportuno

max_execution_time = 30

2. Especificarlo en la propia página.

Tal vez sea el más adecuado. Normalmente este problema te surgirá en una única página y por tanto es preferible simplemente aumentar el tiempo para ella y no para todo el sistema. Para hacer esto, debemos añadir el siguiente código en la página que produce el error.

set_time_limit ( int $seconds )

Más información de esta función en php.net

Para terminar, simplemente recordarte revisar bien el código antes de modificar ningún parámetro del sistema y elegir bien el tiempo de ejecución que vamos a aumentar. Recuerda también que no es recomendable hacerlo en un servidor web que esté en Internet (su procesamiento suele ser más rápido que un localhost, por lo que este problema no es tan común).

Comentarios

  1. Yo lo he instalado en localhost, utilizo el wampserver y en el php.ini en la variable max_execution_time le puse 600 y me sigue dando el mismo error. Ya nose que hacer, alguna ayuda.

    ResponderEliminar
  2. Probaste a reiniciar el servicio¿? Apache no aplica los cambios hasta que no es reiniciado.

    Espero que esto resuelva tu problema y perdona por la tardanza.

    ResponderEliminar
  3. Excelente muchas gracias.
    La verdad tambien tenia este mismo problema de que hay que subir el max_execution_time. No tenia ni la menor idea de que hacer, pero ahora ya supe donde moverle, muchas gracias.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Exportar archivo de configuración de WinSCP

S i estamos trabajando con WinSCP seguro que ya hemos guardado distintas sesiones para acceder a ellas directamente en futuras ocasiones y evitar volver a introducir todos los parámetro de configuración. Seguro que también muchos de vosotros habéis agrupado las sesiones en carpetas dependiendo de la naturaleza de las mismas. Este trabajo ocupa un valioso tiempo que no nos podemos permitir repetirlo para todos los equipos que tenemos, por lo que lo más lógico es configurar todas las sesiones y exportar su configuración al resto de equipos , teniendo una sola versión y evitarnos tener que volver a configurar todas las sesiones en cada uno. El problema es que WinSCP no nos muestra la opción de exportar de una forma sencilla, por lo que tendremos que buscarnos la vida. Lo primero que debemos hacer es abrir el programa y acceder a Preferencias -> Almacenamiento (o su equivalente al inglés) En esta pantalla deberemos indicar que almacene la configuración en un archivo

Asignar valores por defecto a input=”file” y a textarea

S eguro que muchos os habéis estado rompiendo la cabeza buscando la forma de dar un valor por defecto a el tipo de dato input=”file” . Pues que sepáis que no se puede!!! No se puede dar un valor por defecto a los campos de este tipo, ya que hacen referencia a una ruta física local y podrían surgir problemas de seguridad. Lo que se puede hacer, por ejemplo, es mostrar la imagen o el nombre del dato que tenemos almacenado y si el usuario desea modificarla, ofrecerle la opción de cargar una nueva. La etiqueta textarea , aunque pueda parecérnoslo, no se trata de un input y para darle valor por defecto simplemente debemos mostrar el texto que deseemos entre su marca de apertura y de cierre. Es decir, en caso de que lo que deseemos mostrar por defecto sea una variable, introduciremos el siguiente código: <textarea id="txtobservaciones" name="txtobservaciones" rows="2" cols="40" class="txt" ><?=$_POST["txtobservaciones"] ?&

Configuración de archivo de Logs para IpTables

I pTables se usa para configurar, mantener e inspeccionar las tablas de reglas de filtrado de IPs en el kernel de Linux, pero por defecto, su sistema de logs no es todo lo completo esperamos. Por defecto, la mayoría de los logs del sistema se guardan en el fichero /var/log/messages pero en este caso vamos a configurar un nuevo fichero para que almacene únicamente los logs que generaremos con algunas reglas en IpTables , creando así su propio archivo de bitácora . Lo primero que debemos hacer es configurar el archivo /etc/syslog.conf , que se trata de un archivo de configuración en el que se indica el modo en que los mensajes del sistema son bitacorizados a través de la utilidad syslogd que se instala y configura por defecto en todos los sistemas GNU/Linux . Debemos añadir al final del fichero la siguiente sentencia: kern.warning /var/log/iptables.log Con esto indicamos que se almacenen los mensajes provienen del kernel con prioridad 4 o superior ('warning' es el nivel de