Problemas al subir archivos a WordPress

En Tutoriales y Guías, Webmasters por

Uno de los errores más comunes que se encuentran los usuarios de WordPress se ocasiona a la hora de subir archivos. Estos problemas al subir archivos a WordPress se suelen detectar porque aparece un mensaje de error o advertencia tal y cómo se ve en la siguiente imagen.

Problemas al subir archivos a WordPress

Cómo solucionar el error de tamaño máximo de archivo en WordPress

El primer error que vemos en la imagen aparece a la hora de subir un archivo zip cuyo tamaño es superior al tamaño máximo permitido por el hosting. Como es un problema relacionado con el hosting a veces nosotros no podemos solucionarlo y no nos quedará más remedio que contactar con el soporte, pero por suerte en la gran mayoría de situaciones podemos emplear alguna de las siguientes opciones:

Usar un archivo .htaccess para aumentar el tamaño de las subidas

#configurar el tamaño máximo de las subidas
 php_value upload_max_filesize 10M

#configurar el tamaño máximo de datos post
 php_value post_max_size 10M

Usar un archivo php.ini para aumentar el tamaño de las subidas

En algunos hostings esto también lo podemos conseguir creando un archivo php.ini en la carpeta raíz del hosting y agregando las siguientes líneas:

; Maximum allowed size for uploaded files.
 ; http://php.net/upload-max-filesize
 upload_max_filesize=10M

Fijaros que en el php.ini las lineas comentadas (las cuales serán ignoradas) comienzan por punto y coma ; . En algunos casos (si agregando sólo lo anterior sigue sin funcionar) podéis probar a agregar:

; Maximum size of POST data that PHP will accept.
 ; Its value may be 0 to disable the limit. It is ignored if POST data reading
 ; is disabled through enable_post_data_reading.
 ; http://php.net/post-max-size
 post_max_size=8M

Modificar directamente el archivo php.ini general de configuración

Si disponemos de nuestro propio servidor VPS o dedicado y tenemos acceso a modificar el archivo php.ini de nuestra instalación PHP sólo tenemos que buscar las líneas upload_max_filesize y post_max_size para agregar el tamaño que se ajuste a nuestras necesidades (por ejemplo 10M quiere decir 10 Megabytes).

Para localizar el archivo php.ini si no sabéis donde está, podéis emplear el comando: find / -name "php.ini"

En mi caso empleo un VPS de DigitalOcean y la instalación de PHP localiza el archivo en la ruta /etc/php5/apache2/php.ini aunque la vuestra puede variar, por eso es mejor emplear el comando anterior.

También deciros que esto también funciona si empleáis algún entorno de desarrollo como XAMPP en Windows.

Cómo solucionar el error de subida de archivo en WordPress

Ahora nos encontramos ante el segundo mensaje de error que aparece en la imagen y que es más difícil de subsanar porque el mensaje no nos da información de por qué se ha producido el fallo. Así tendremos que ir comprobando una serie de cosas para tratar de diagnosticar el problema:

Verificar los permisos

Tendremos que verificar los permisos de la carpeta a la que tratamos de subir los archivos, que generalmente será la carpeta uploads localizada en la ruta /wp-content/uploads/.

Entramos con algún cliente FTP (Filezilla por ejemplo) y comprobamos que la carpeta tiene permisos de lectura, escritura y ejecución que se representa de forma abreviada por los dígitos 777.

Safe mode activado

Otro problema menos común hoy en día pero que todavía nos lo encontramos es que la compañía de hosting tenga activado el modo “Safe mode” que restringe los permisos y suele dar bastantes problemas.

Para saber si está activado podemos emplear el siguiente script en php:

<?php

if( ini_get('safe_mode') ) {
echo "Safe mode activado";
}
else {
echo "Safe mode desactivado";
}

?>

Si está activado, la única forma de solucionarlo es contactar a nuestro proveedor de hosting y solicitar la desactivación del safe mode.

WordPress no localiza corectamente la carpeta donde subir los archivos

En algunos hostings este error es muy común y por la propia configuración del servidor WordPress no es capaz de localizar bien la carpeta de las subidas. En este caso la solución es simple, sólo tenemos que editar el archivo wp-config.php y agregar:

define( 'WP_TEMP_DIR', ABSPATH . 'wp-content/tmp/');

Problemas ocasionados por plugins o temas

Esta es otra posibilidad y la que me he encontrado menos veces, aún así si con todo lo anterior no has conseguido solucionar el problema tendrás que ir desactivando los plugins uno a uno e ir probando a ver si estaba en algún plugin el problema. Cambien hay que hacer una comprobación cambiar el tema o plantilla.

Espero que os haya sido de ayuda si os encontráis con algún problema no dudéis en comentar.