Aumentar el límite de upload en PHP

Sintoma

Es posible subir ficheros de tamaño limitado mediante webmail o PHP, pero si se intenta adjuntar un archivo en un correo o subirlo a una página web siendo éste de tamaño considerable es posible que surjan errores referentes al tamaño del archivo. Esto es debido a que PHP tiene limitada la subida de archivos de un determinado peso por defecto, y hay que modificar ciertos valores para poder aumentarlo.

Leer primero

Dependiendo bajo que modo esté corriendo PHP en la página web o el webmail que está teniendo problemas, hay que modificar el php.ini correspondiente. Por ejemplo, si está corriendo bajo Apache la ruta probablemente sea /etc/php5/apache2/php.ini y en el caso de CGI sería /etc/cgi/apache2/php.ini .

Solución

Las variables que habría que modificar para aumentar el límite serían las siguientes:

upload_max_filesize = 2M
post_max_size = 8M

  • upload_max_filesize: Deberás modificar 2M por el tamaño máximo deseado en MB
  • post_max_size: Deberás modificar 8M por el tamaño máximo deseado en MB + tamaño del formulario PHP (P.e.: texto del mensaje)

Adicionalmente existen otros limites que también afectan al tamaño de adjunto máximo que PHP es capaz de manipular y que deberás revisar para el correcto funcionamiento de los cambios realizados:

max_execution_time = 30
memory_limit = 64M

  • max_execution_time = 30: Si quieres subir el límite de subida en PHP necesitarás también aumentar este valor dependiendo del máximo de bytes establecidos anteriormente
  • memory_limit = 64M: Este valor habría que subirlo también debido a que controla la memoria máxima que un script puede consumir

Una vez realizados los cambios, hay que reiniciar el servicio web del servidor, normalmente se puede hacer con el comando:

/etc/init.d/apache2 restart

O bien:

/etc/init.d/httpd restart

En el caso de la variable memory_limit, esta debe ser mayor que la variable post_max_size.

Se ha de tener en cuenta a la hora de realizar estos cambios, que la variable post_max_size debe ser mayor que upload_max_filesize.

Hay que tener cuidado a la hora de manipular dichas variables y no especificar límites muy altos ya que esto puede consumir rápidamente los recursos de tu servidor.

Para comentar sobre este artículo, rellena el formulario. Los campos marcados con un asterisco (*) son obligatorios.


*