¿Te aparece el mensaje que dice que el tamaño del archivo excede el tamaño permitido en este sitio?
Los nuevos reproductores multimedia incorporados en WordPress hacen que sea una potente plataforma para el streaming de vídeo y audio. Pero es posible que entonces notes que necesitas subir archivos más grandes de lo que tu instalación de WordPress te permite, por el límite de tamaño máximo de archivo que puedes subir.
Si quieres saber cual es el límite de subida que tiene tu sitio web, puedes entrar en el panel de control, Medios, Añadir nuevo. Debajo de la caja de “Subir nuevo medio” verás que pone “Tamaño máximo de archivo:” con un número junto a él, en megabytes. Este es el tamaño máximo que pueden tener los archivos que subes. De forma predeterminada, este número oscila entre 2 MB a 128 MB. Si estás en el extremo inferior de esta escala, es posible que desees aumentar el límite de subida para esos archivos multimedia más grandes.
Por desgracia, no hay una manera única para aumentar este límite. Cómo podrás aumentar este límite de subida dependerá de la configuración del servidor. Es posible que tengas que probar un par de cosas antes de encontrar algo que te funcione. Aquí te voy a mostrar toda una batería de trucos para que des con esa solución.
La mayor parte de ellos requieren que accedas a tu sitio web a través de FTP. Si no estás familiarizado con el funcionamiento de FTP. En la famosa guía de instalación en 5 minutos de WordPress tienes un apartado donde lo explican y te recomiendan algún cliente FTP.
Antes de nada: Crear un archivo de información de nuestra configuración PHP
Antes siquiera empezar a probar cualquier solución, puede ser útil para tratar de obtener algunos detalles sobre cómo PHP está configurado en su sitio. Por suerte, PHP tiene una función simple para ayudarle a hacer esto. Crear un nuevo archivo en un editor de texto de su elección, y agregar esta línea de código a la misma:
<?php phpinfo(); ?>
Guarda el archivo como “info.php” y subelo, por FTP al directorio raíz de tu servidor, donde está instalado WordPress. Después entra en “http://tusitio.es/info.php”, reemplazando “tusitio.es” por la dirección real tu sitio web. Te aparecerá una lista con los detalles acerca de la configuración de PHP.
Verás mucha información, pero lo que realmemente nos interesa es la versión de PHP que se está ejecutando. Lo tienes en la parte superior, en el ejemplo “PHP Versión 5.3.29”. De esta serie lo más importante es el primer número. Para ver si está ejecutando una versión de PHP 4 o PHP 5. En algunos de los consejos que damos a continuación se especifica la versión de PHP para la que funciona, así que toma nota de con cual está trabajando tu sitio web.
Hay además tres ajustes en el archivo de información de PHP que son relevantes para el límite de subido. Puedes buscarlos (control/command + F) a través del archivo para ver cómo lo tienes establecido en la actualidad.
memory_limit – Define la cantidad de memoria asignada a PHP. Sólo tienes que asegurarte de que este número es igual de alto o más que el límite de subida que deseas establecer.
post_max_size – Define el tamaño máximo que se maneja en una petición POST. Tendremos que ajustarlo a nuestro nuevo límite de carga.
upload_max_filesize – Esto define el tamaño máximo de carga o subida de archivos. También se establecerá con el nuevo límite de carga.
Ahora que tenemos un poco de información acerca de la configuración de nuestro PHP, podemos intentar alguno de estos métodos para aumentar el límite de tamaño de los archivos a subir.
Editar el archivo php.ini
Si buscas en Google la manera de aumentar el límite de subida en WordPress, es muy probable que te encuentres un montón de respuestas. La mayoría de estas son soluciones temporales, pero la mejor manera de aumentar el tamaño de la carga de archivos es realizar cambios en el archivo php.ini del servidor. El archivo php.ini contiene todos los detalles de la configuración del PHP, y te permitirá cambiar los valores que has visto en la página de información de PHP.
La consabida advertencia: Antes de empezar a hacer cambios en la configuración del servidor, haz una copia de seguridad del sitio web y la base de datos en local (tu ordenador, vaya). Y si tienes acceso al archivo php.ini, también.
Dependiendo del proveedor de alojamiento web, es posible que puedas editar o no este archivo php.ini directamente. Para encontrarlo, accede por FTP al sitio, y acceder al directorio raíz absoluto. Esto suele ser uno o dos directorios más arriba de donde están alojados los archivos de WordPress.
Desde el directorio raíz de tu servidor, busca la carpeta que contiene el archivo php.ini. Suele ser en una carpeta llamada “conf” o “etc”. Busca a través de estas carpetas para encontrar el archivo llamado “php.ini”. Si no lo puedes localizar, trata de buscarlo a través de la info del proveedor del alojamiento web para encontrar su ubicación.
Despues de copiarlo, vamos a modificar algunos valores, tendrás que buscar a través del archivo para encontrarlos. A modo de ejemplo, voy a aumentar mi límite de subida a 64 MB. Puedes subirlo más todavía, pero no es recomendable que vayas más allá de 128 MB.
En primer lugar, encuentra el valor “memory_limit”, y cámbialo a 64M (a menos que ya está establecido a un valor más elevado). A continuación, encontrarás el el “post_max_size” y lo cambiamos a 64M. Y por último, encontramos el “upload_max_filesize” y una vez más lo cambiamos a 64M. Ojo! Es importante usar una “M” para definir el límite del tamaño de archivo en megabytes, en lugar de los MB que comúnmente se usan. También es posible que desee encontrar la variable “max_execution_time” y dejarlo en algo así como 300. Con esto te aseguras que tu sitio no se quedará colgado al cargar archivos más grandes.
Al final, los valores se verá así:
memory_limit = 64M upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300
Aunque estos valores se encuentran dispersos por el archivo php.ini.
Cuando hayas terminado, guardas el archivo en el directorio donde se encontraba, sobrescribiendo el archivo existente.
Puede que estos cambios tarden un tiempo en surtir efecto. Si tienes un servidor dedicado y sabes hacerlo, puedes tratar de reiniciar el servidor. Si no estás seguro, consulte con tu proveedor de alojamiento web.
De lo contrario, borra la caché de tu sitio web en el navegador y espera hasta que cuando visites la caja de Añadir nuevo medio veas que el tamaño máximo se ha modificado.
Carga tu propio php.ini
Si no puedes encontrar el archivo php.ini, o si tu proveedor de alojamiento web no te da acceso a él, puedes probar a cargar tu propio archivo para anular los valores predeterminados. Para ello, crea un nuevo archivo en su editor de texto. Y pega el siguiente código en él:
memory_limit = 64M upload_max_filesize = 64M post_max_size = 64M file_uploads = On max_execution_time = 300
Una vez más, pongo el límite en 64 MB, pero se puede cambiar este valor por el que quieras.
¿Recuerdas tu versión de PHP? Porque si tienes la versión de PHP 4, debes guardar este archivo como “php.ini” y si tienes la versión PHP 5, debes hacerlo como “php5.ini”. Siempre puedes probar con esta opción y si no funciona, probar entonces a cambiarle el nombre a “php.ini” y subirlo de nuevo.
Una vez creado hay que subirlo, por FTP a tu sitio web, al directorio raíz donde estén alojados tus archivos de WordPress.
De nuevo, si tienes la posibilidad de reiniciar el servidor puedes acelerar el proceso, si no a esperar. Y para confirmar si este método ha funcionado o no, vas a Medios, Añadir nuevo y allí compruebas si el tamaño máximo de archivo se ha incrementado.
Usando .user.ini
Si este método no funcionó, puede que tengas esta otra opción. Aunque sólo funciona si estás utilizando una versión de PHP 5. De lo contrario, puedes saltarte este apartado.
Crea un archivo nuevo, como hicimnos antes, y esta vez lo llamas “.user.ini”.
En ese archivo, copia el siguiente código:
upload_max_filesize = 64M post_max_size = 64M memory_limit = 64M max_execution_time = 300
Puedes cambiar el valor de 64M para que coincida con el límite de subida deseado.
Guarde este archivo y llevalo al directorio de tu instalación de WordPress a través de FTP. Y como ya hemos dicho, si puedes reiniciar el servidor eso que adelantas y si no tocará esperar. Y para comprobar si cambió, igual, puedes revisar el tamaño máximo de archivo bajo la caja de Subir nuevo medio
Probando con .htaccess
Si has probado las soluciones con php.ini, y ninguna de ellas funcionó, puede probar otra opción a través del archivo .htaccess. En general, htaccess se utiliza para configurar un servidor Apache. Sin embargo, también se puede utilizar para cambiar los valores de PHP, si tu versión de PHP está configurada como módulo de Apache.
Antes de modificar el archivo .htaccess, asegúrate de que tienes una copia de seguridad. Un fallo al modificar este archivo puede causar un error interno del servidor o una pantalla en blanco, que se puede quitar fácilmente con sólo volver a subir el archivo .htaccess original.
Para acceder al archivo, ve al directorio raíz de tu instalación de WordPress. Si no lo ves asegúrate de que está habilitado el cliente de FTP para ver los archivos ocultos. Abre el archivo llamado “.htaccess” para editar y en la parte inferior del archivo, pega este código:
php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300
A continuación, guardamos de nuevo en el servidor. Visita su sitio, y comprueba que no da ningún error. Después puedes ir a Medios, Añadir nuevo para ver si el tamaño máximo de carga ha entrado en vigor.
Si surge algún problema, carga el archivo .htaccess desde la copia de seguridad que guardaste en local.
WordPress Config File
Si todo lo demás falla, hay un truco más que puedes probar. Para ello es necesario editar los archivos de WordPress directamente.
El primer paso es acceder por FTP a tu servidor, y copiar el archivo “wp-config.php”, ubicado en el directorio raíz, para editarlo.
Abre el archivo, y en la parte inferior agrega esta línea:
define('WP_MEMORY_LIMIT', '64M');
Luego lo volvemos a subir al servidor.
Entonces navegamos de nuevo por FTP por la carpeta de nuestro tema activo, en “wp-content” y nos traemos el archivo “functions.php” al disco duro para editarlo. ¿Te he dicho ya lo importante que es tener copia de todo antes de trastear, verdad? Vale, pues lo abrimos y en la parte superior, insertamos:
@ini_set( 'upload_max_size' , '64M' ); @ini_set( 'post_max_size', '64M'); @ini_set( 'max_execution_time', '300' );
Estos archivos, hay muchos servidores que permiten editarlos directamente, abrindo el archivo con FTP, modificando y guardandolo directamente, pero como todavía hay algunos montajes más antiguos o servidores compartidos que no lo permiten, prefiero explicarlo de esta manera. Una vez más, borrar la caché de su navegador y en el panel de control del sitio web, y entrar en Añadir medios para para ver si el cambio en el límite de subida ha tenido efecto.
Contacta con tu proveedor de alojamiento web
Si ninguna de las soluciones anteriores ha funcionado, la última opción es ponerse en contacto con el proveedor del alojamiento web. Díles que deseas aumentar los archivos: “memory_limit”, “upload_max_size” y “post_max_size” en el archivo php.ini. La mayoría de los proveedores no tendrán problema en hacerlo. Y si tu servicio de alojamiento no le permite, o no responden, puede que sea hora de encontrar alojamiento en otro lugar…
Algunos proveedores te permiten modificarlo incluso desde su propio panel de control. Así por ejemplo, en CDmon, dentro de la configuración PHP, tienes el apartado: ” Subida de ficheros y variables para POST y GET”, que te permite aumentar el valor, si bien sólo hasta un máximo de 30MB.
Aumentar el límite en MAMP
A veces, Puedes estar desarrollando un sitio web a nivel local y deseas aumentar allí el límite. Si tienes un Mac, seguramente estás utilizando MAMP, un servidor local que te da acceso a Apache, MySQL y PHP. En otras palabras, todo lo que necesita para que funcione WordPress.
Afortunadamente, tendrás acceso al archivo php.ini en MAMP, sólo tienes que saber dónde encontrarlo. El primer paso es sacar la versión de PHP con la que trabajamos como vimos en “Información de PHP” situado en la parte superior de la pantalla
Una vez que la sepas, ve a “/ Applications / MAMP / bin / php / PHP_VERSION / conf”. En la carpeta “php”, verás una lista de las diferentes versiones de PHP, así que asegúrate de navegar a la versión que tu sistema está ejecutando actualmente. A partir de ahí, se puede abrir el archivo “php.ini”, y seguir las instrucciones de arriba.
En última instancia, vas a cambiar estas cuatro variables:
memory_limit = 64M upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300
Y ya lo tendrás todo listo para trabajar con un nuevo límite de subida en el entorno local.
Aumentar el límite en WAMP
El equivalente de Windows de MAMP se llama WAMP. Y como MAMP, tendrás acceso a su archivo php.ini. Para encontrarlo, ve a “C: \ WampDeveloper \ Config \ php \ php.ini” y abre el archivo php.ini. Realizas los cambios descritos anteriormente, teniendo en cuenta las cuatro variables que se relacionan con el límite de subida en WordPress:
memory_limit = 64M upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300
Después de cambiar estos parámetros, se incrementará el límite de subida.
Espero que te haya sido útil
Como hemos visto, hay un buen número de cosas que puedes necesitar para que llegar a aumentar el límite de subida en tu instalación de WordPress. No te puedo garantizar que una de estas vaya a funcionar, pero espero que para la mayoría si lo haga.
Si no, no lo dudes, contacta con tu proveedor de alojamiento web para obtener ayuda. Un buen servicio de alojamiento te ayudará de forma rápida, y lo tendrás en marcha en poco tiempo.
La configuración de PHP no es una tarea sencilla, pero con las posibilidades multimedia de WordPress, puede ser recomendable conocer esto un poco.
Original: http://www.elegantthemes.com/blog/tips-tricks/is-the-wordpress-upload-limit-giving-you-trouble-heres-how-to-change-it (en inglés)
Gracias por molestarte en compartir tus conocimientos con todos nosotros. Tengo que decir que me ha funcionado perfectamente la opción “Usando .user.ini”
Gracias de nuevo!!
Si, hay muchas formas y a veces hay que probar con dos o tres hasta dar con la que nos funcione… Me alegro que te haya valido Jose, un saludo
amigo, si añades que hay que reiniciar el servicio httpd, mejor, a mi me a funcionado así,
entrar en el directorio sbin y teclear: service httpd restart
y a funcionar.
Saludos y gracias por compartir.
So suelo comentar, pero me ha sido de gran ayuda, muchisimas gracias.
Me alegro Fabio, un saludo
Excelente tutorial, ahora mi pregunta.
Cómo puedo subir los archivos? Hay alguna forma (plugin) para hacerlo dentro de wordpress cuando esté creando una nueva entrada?
Gracias, Luis
No, no haría falta. Una vez eliminada el límite de los archivos, los subes como cualquiera, a través de añadir archivo en el editor de entradas o añadir medios, en nuevo, medios.
Para archivos grandes, como vídeos, sí que sería recomendable subirlos por FTP.
Gracias por compartir tus conocimientos. Ahora mi pregunta es, ¿cómo limitar el tamaño sólo de las imágenes que se suben a medios?
Gracias a ti. Puedes hacerlo de varias maneras, aunque quizás la mas cómoda la tienes en el plugin Imsanity que es justo lo que hace.
Gracias, pero me gustaría no tener que instalar un plugin, implemente una función en el archivo de functions.php del tema pero no me dio resultado, y en investigaciones que hice me dicen como incrementar los MB que se suben a medios pero eso seria para cualquier archivo y yo sólo quiero limitar las imágenes.
Ya. La verdad es que nunca se me ha dado el caso.
Por defecto, reduzco a un mínimo (2M) el tamaño de los archivos que se pueden subir, a través del panel de control del alojamiento (ini.php). Y lo modifico para subidas de archivos puntuales (pdf, video…) que lo superen.
En los casos donde no han funcionado los consejos/advertencias/amenazas a los autores sobre la necesidad de reducir imágenes que se suben, he instalado el Imsanity, que aparte de lo horrible del nombre, te permite configuraciones bastante majas…
Hola e realizado todos los consejos dejados en este post en el wordpress en librería me muestra que deja subir los 128 mb que le ingrese por código pero al llegar al 100% Error HTTP. y no me deja adjuntar, yo tengo contratado el alojamiento con godaddy bajo un servidor windows peso, al pedir soporte me dicen que ellos no pueden modificar el php como mas puedo solucionarlo.
Una pregunta tonta quizás… Has probado a actualizar la página. A mí a veces me da fallo http al terminar de subir el archivo, y al actualizar su me aparece. A veces sin mostrar la imagen pero si lo adjunto en la web se ve bien…
=/
Hola! Ha sido de gran utilidad, pero…cómo reinicio el servidor para aplicar los cambios? dónde he de teclear: service httpd restart?
mil gracias!!
Mil gracias broth despues de tanto buscar soluciones en google y la tuya fue la que me sirvio.
Cuanto me alegro, Wilmer!
Gracias por compartir conocimientos. Conocía varias de las opciones que comentas, pero la que no conocía: la de .user.ini es la que me ha servido.
Por cierto, yo le añadí al final de cada linea el punto y coma que no estaba en el código que indicas, no se si es necesario pero me funcionó así.
Saludos.
Me alegro… y gracias por el aporte!
el .user.ini funciono perfecto gracias saludos
Genial!
Funcionó. Mil gracias
Excelente. También me funcionó el de .user.ini
Genial, me alegro, Héctor!
hola bro tengo problema cuando subo un archivo pesado mas de 1gb cuando sube me sale el error de http , de fotos normal pero los videos pesados no lo sube
Hola Segundo, normalmente los alojamientos tienen limites establecidos. Tanto de subida de archivos de una vez, como de transferencia mensuales. Revísalos porque seguramente los superaste…