¿Cómo aumentar el tamaño máximo de carga en WordPress? El bajo límite de tamaño de carga de WordPress te impide subir archivos, plugins y temas de gran tamaño. Si estás construyendo un sitio web con mucho contenido multimedia, eso puede ser un obstáculo considerable. En estos casos es necesario aumentar el tamaño máximo de subida en WordPress o en tu servidor (o en ambos).
Dependiendo de tu proveedor de alojamiento y de tu servidor, hay muchas maneras de resolver este problema. Las cubriremos todas en este artículo y te mostraremos cómo aumentar el tamaño máximo de subida en WordPress rápidamente.
Contenido
¿Cuál es el tamaño máximo de subida en WordPress?
Subir archivos grandes a un servidor consume recursos del mismo. Para evitar que los usuarios provoquen un tiempo de espera en el servidor, el tamaño máximo de subida por defecto en WordPress suele oscilar entre 4 MB y 128 MB. Normalmente, el proveedor de alojamiento establece este límite a nivel de servidor. WordPress también incluye constantes que definen este límite, pero no pueden anular la configuración a nivel de servidor en la mayoría de los casos.
Para comprobarlo, ve a la biblioteca multimedia de tu sitio de WordPress. Aquí, intenta subir un archivo que supere este límite de tamaño máximo de archivo de subida. Verás un mensaje de error diciendo «El fichero NOMBRE DEL FICHERO excede el tamaño permitido en este sitio.».
Este error puede ser frustrante, pero existe por dos razones principales: seguridad y eficiencia. Impide a los propietarios del sitio y a otros usuarios, incluidos los actores maliciosos, subir archivos enormes (por ejemplo, imágenes de alta resolución, vídeos grandes).
De lo contrario, puede incapacitar el servidor de tu sitio web, haciendo que éste se arrastre. O peor aún, ¡Puede hacer que tu sitio se caiga por completo!
¿Cómo cambiar los limites de subida de PHP?
Si tienes acceso al servidor, solo debes modificar el fichero php.ini que normalmente está en /etc/php/.
En caso de no tener acceso al servidor, en ocasiones se puede realizar desde paneles como plesk o cpanel o un panel propietario del proveedor.
Las variables a modificar son las siguientes:
PHP post max size
: Define el límite máximo de carga para las peticiones POST.PHP memory limit
: Define la memoria asignada para PHP. Debe ser igual o mayor que el límite de tamaño máximo de subida. De lo contrario, la subida fallará.
Un ejemplo de como dejar estas variables para que funcionen con ficheros mas grandes:
upload_max_filesize = 32M
post_max_size = 64M
memory_limit = 128M
Normalmente tu proveedor de alojamiento web establece estas opciones. Suele ocurrir que los planes de alojamiento inicial tengan un límite de tamaño de subida menor que los planes de alojamiento empresarial. Algunos alojamientos pueden permitirte anular estos límites. Pero en la mayoría de los casos, necesitarás la ayuda de tu proveedor de alojamiento (y quizás una actualización del plan) para aumentarlos.
Mediante .htaccess
Si tu proveedor lo permite puedes modificar estas variables mediante el fichero .htaccess (tu proveedor debe utilizar apache, no nginx como servidor web). Debes editar el fichero .htaccess de tu sitio web y poner lo siguiente al final:
php_value upload_max_filesize 32M php_value post_max_size 64M php_value memory_limit 128M php_value max_execution_time 300 php_value max_input_time 300
Mediante filtros de WordPress
WordPress 2.5 introdujo el filtro upload_size_limit, que filtra el tamaño máximo de subida permitido en php.ini. Incluso WordPress utiliza este filtro para mostrarte el tamaño máximo de subida permitido, como en las pantallas de la Mediateca y de la Información sobre el estado del sitio.
A continuación se muestra un ejemplo de este filtro en acción. Define el límite de tamaño de subida para todos los roles que no son de administrador:
/** * Filter the upload size limit for non-administrators. * * @param string $size Upload size limit (in bytes). * @return int (maybe) Filtered size limit. */ function filter_site_upload_size_limit( $size ) { // Set the upload size limit to 10 MB for users lacking the 'manage_options' capability. if ( ! current_user_can( 'manage_options' ) ) { // 10 MB. $size = 1024 * 10000; } return $size; } add_filter( 'upload_size_limit', 'filter_site_upload_size_limit', 20 );
Crea o modifica el archivo ‘php.ini’
Como hemos dicho la mejor vía es modificar el fichero php.ini del sistema. Si este no se puede modificar, en algunos proveedores podremos subir nuestro php.ini particular.
El archivo php.ini es el lugar donde se definen los cambios en la configuración predeterminada de PHP. Normalmente, contiene directivas que definen los tiempos de espera de los archivos, el tamaño máximo de subida y los límites de recursos.
Utilizando SSH o FTP, puedes encontrar el archivo php.ini en tu directorio raíz de WordPress. En algunos casos, puede que no lo encuentres allí. ¡No te preocupes! Puedes crear un nuevo archivo con el mismo nombre en el directorio raíz de tu sitio.
Con un editor de código o de texto, añade el siguiente código a tu archivo php.ini existente o nuevo:
upload_max_filesize = 32M post_max_size = 64M memory_limit = 128M
No olvides guardar tu archivo después de hacer los cambios. Algunos alojamientos no permiten modificar la configuración de PHP mediante este método. En tal caso, puedes proceder a probar la siguiente solución en su lugar.
Crea o modifica el fichero ‘.user.ini’
Si tu proveedor de alojamiento ha bloqueado la configuración global de PHP, es posible que haya configurado el servidor para que funcione con archivos .user.ini en lugar de con archivos php.ini.
Al igual que los archivos php.ini y .htaccess, puedes encontrar el .user.ini en el directorio raíz de tu sitio. Si no lo encuentras, puedes crear un nuevo archivo .user.ini en la misma ubicación. Sigue el mismo procedimiento descrito en el método anterior para crear un nuevo archivo php.ini.
A continuación, añade el siguiente código a tu archivo .user.ini:
upload_max_filesize = 32M post_max_size = 64M memory_limit = 128M