Cómo aumentar el tamaño máximo de subida de archivos en Drupal y PHP: Guía completa y segura

Por Nacho Morato, 17 Julio, 2025

En el entorno del desarrollo web, gestionar eficientemente los archivos subidos es fundamental, especialmente si trabajas con gestores de contenido como Drupal. Uno de los retos más habituales a los que se enfrentan tanto desarrolladores como administradores es el límite máximo permitido para subir archivos a través de sistemas. Este límite, determinado por la configuración del servidor y del propio gestor, puede hacer que tareas aparentemente simples, como subir una imagen grande o un PDF voluminoso, se conviertan en un quebradero de cabeza si no se ha ajustado correctamente.

Si has intentado subir un archivo y te has encontrado con un mensaje de error avisando de que superas el tamaño máximo permitido, tranquilo: no eres el único. Drupal, por seguridad y rendimiento, establece límites tanto a nivel de servidor (PHP) como dentro de su propia configuración interna. En este artículo vamos a explicarte, paso a paso y con todo lujo de detalles, cómo aumentar el tamaño máximo de archivo que puedes subir en Drupal. Hablaremos de configuraciones tanto en el propio Drupal como en PHP y en el archivo .htaccess, así como consejos y advertencias importantes que debes tener en cuenta para no meterte en líos.

¿Por qué existe un límite de subida de archivos?

Tanto en Drupal como en cualquier plataforma PHP, el tamaño máximo para subir archivos se establece fundamentalmente por dos razones: proteger el servidor de archivos demasiado grandes que puedan saturarlo o poner en riesgo la seguridad, y evitar que algún usuario malintencionado o por error provoque caídas de rendimiento subiendo ficheros excesivos. Por eso, los límites suelen estar definidos tanto en la configuración global de PHP como en las opciones internas de Drupal.

¿Dónde están los límites y cómo se aplican?

El tamaño máximo de subida depende principalmente de tres parámetros:

  • upload_max_filesize: El límite individual de tamaño de archivo permitido por PHP.
  • post_max_size: El tamaño total permitido para la petición POST, que afecta a envíos de formularios con múltiples archivos.
  • memory_limit: La memoria máxima que PHP puede usar para procesar la petición, que también puede limitar el proceso si los archivos son muy grandes.

Todos estos parámetros se definen normalmente en el archivo php.ini de tu servidor, aunque existen otras formas de ajustarlos.

Cómo comprobar los límites actuales de subida en Drupal

Antes de modificar nada, es recomendable verificar cuáles son los límites actuales. Puedes hacerlo de varias formas:

  • Desde la administración de Drupal, accede a la configuración de los tipos de contenido y examina los campos de archivo o imagen: generalmente muestran el máximo permitido por Drupal y el máximo permitido por PHP.
  • En el archivo phpinfo() de tu servidor, puedes consultar rápidamente los valores de upload_max_filesize, post_max_size y memory_limit.

Esta información es esencial: aunque aumentes el límite desde Drupal, si el servidor está limitado por PHP, no podrás subir archivos más grandes.

Modificar el límite desde la configuración interna de Drupal

Drupal permite establecer límites personalizados de subida para cada campo de archivo o imagen dentro de un tipo de contenido. Así puedes controlar, por ejemplo, que en los artículos se permita subir imágenes de hasta 5 MB y en otro contenido solo de 1 MB.

  1. Accede al panel de administración de Drupal.
  2. Ve al menú de Estructura y selecciona Tipos de contenido.
  3. Elige el tipo de contenido que deseas modificar y haz clic en Administrar campos.
  4. Busca el campo (por ejemplo, Imagen o Archivo) y accede a la opción Editar.
  5. En la pantalla de configuración del campo, localiza el apartado "Tamaño máximo de archivo subido". Aquí puedes establecer el límite deseado (por ejemplo, 10 MB).
  6. Guarda los cambios.

Es importante tener en cuenta que el límite máximo en Drupal no podrá superar el valor establecido en la configuración de PHP. Por ejemplo, si en php.ini tienes 2 MB, ese será el límite máximo independientemente de lo que pongas en Drupal.

Aumentar el tamaño máximo de subida en PHP (php.ini)

Para permitir subidas de archivos más grandes, debes modificar los valores en el archivo php.ini de tu servidor. Este archivo define los límites globales para todas las aplicaciones PHP, incluido Drupal.

Accede (o pide a tu proveedor de hosting que acceda) al archivo php.ini y busca estas líneas:

upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 128M

Puedes aumentar estos valores según tus necesidades. Por ejemplo, para permitir archivos de hasta 64 MB, deberías poner al menos 64M en los tres parámetros, aunque se recomienda tener memory_limit más alto para evitar errores de memoria.

  • upload_max_filesize: Límite individual de tamaño de archivo subido.
  • post_max_size: Límite total de la petición POST (debe ser igual o mayor que el anterior).
  • memory_limit: Memoria máxima que PHP puede usar; si los archivos son grandes, se recomienda ponerlo igual o más alto que post_max_size.

Después de realizar los cambios, guarda el archivo y reinicia tu servidor web (Apache, Nginx, etc.) para que las modificaciones tengan efecto.

Modificar los límites desde .htaccess

En servidores donde PHP se ejecuta como módulo de Apache, puedes modificar los límites editando el archivo .htaccess en la raíz del proyecto. Este método es útil si no tienes acceso al php.ini o deseas aplicar cambios solo a una web específica.

php_value upload_max_filesize 20M
php_value post_max_size 30M
php_value memory_limit 64M

Agrega o modifica estas líneas en el archivo .htaccess. Si al guardar y cargar la web obtienes un error 500, revisa la sintaxis, ya que algunos servidores no permiten sobrescribir estas configuraciones desde .htaccess.

Recuerda que el archivo .htaccess es oculto (empieza por un punto). Si usas un gestor de archivos como cPanel, asegúrate de mostrar los archivos ocultos (dotfiles).

Otros métodos dependiendo del hosting o entorno

Algunos proveedores de hosting no permiten modificar ni el php.ini ni el .htaccess. En su lugar, ofrecen una sección en el panel de control para cambiar variables PHP o permiten crear un archivo user.ini o php.ini en la raíz del sitio. Consulta siempre con tu proveedor las opciones disponibles.

En entornos locales como XAMPP, WAMP o MAMP, la modificación se realiza directamente en el archivo php.ini, y luego reiniciando el servidor.

Precauciones al aumentar los límites de subida

Permitir archivos muy grandes puede conllevar riesgos, entre ellos:

  • Pérdida de rendimiento si se suben archivos enormes simultáneamente.
  • Consumo excesivo de disco y memoria, especialmente en formularios abiertos al público.
  • Incremento en los riesgos de seguridad, ya que usuarios malintencionados pueden intentar inundar tu servidor con archivos grandes para afectar su rendimiento.

Se recomienda establecer solo los límites necesarios y monitorizar regularmente el espacio en disco y el uso de memoria.

¿Cómo verificar si los cambios se han aplicado correctamente?

Tras modificar la configuración, puedes comprobar si el límite ha cambiado realizando alguna de las siguientes acciones:

  • En Drupal, al editar el campo correspondiente, deberían mostrarse los nuevos límites permitidos.
  • Intenta subir un archivo cercano al nuevo máximo para verificar que no da errores.
  • Crea un archivo PHP con phpinfo() y comprueba los valores de upload_max_filesize, post_max_size y memory_limit.

Solución de problemas comunes

Si después de los cambios sigues teniendo errores:

  • Verifica que estás editando el php.ini correcto, ya que algunos servidores tienen múltiples archivos para diferentes entornos (CLI, FPM, etc.).
  • En paneles como Plesk o cPanel, revisa que no sobrescriban la configuración personalizada.
  • Recuerda reiniciar tu servidor web después de modificar php.ini para aplicar los cambios.
  • En hosting compartido, puede que las restricciones del servidor no permitan aumentar ciertos valores.

Recomendaciones para mantener la seguridad y eficiencia

Si tu sitio permite que usuarios suban archivos de forma anónima o pública, limita los tipos de archivos permitidos para reducir riesgos de seguridad. Solo habilita las extensiones estrictamente necesarias, como jpg, png, pdf, etc. Además, realiza limpieza periódica de los archivos subidos y supervisa el uso de espacio y memoria del servidor.

En entornos de producción, considera la opción de usar soluciones externas de almacenamiento, como Amazon S3 o CDN, especialmente si manejas grandes volúmenes de archivos.

Enlaces útiles y documentación oficial

Gestionar el tamaño máximo para subir archivos en Drupal requiere controlar tanto la configuración interna del gestor como el entorno PHP. Recordar que los límites más restrictivos prevalecen: no tiene sentido subir el tope en Drupal si PHP lo limita, y viceversa. Siguiendo estos pasos, podrás ajustar el sistema a las necesidades reales de tu proyecto y mantener una web segura y flexible.

Etiquetas

Comentarios