Hosting

Corregir error «Falta un directorio temporal» en WordPress

09/07/2018

Es posible que te hayas encontrado en la situación de no poder subir una imagen o cualquier otro archivo a tu WordPress, y que obtengas el mensaje de error Falta un directorio temporal.
Este error es el que vamos a solucionar en este artículo.

El error que hemos comentado se debe a que tu WordPress no tiene un directorio (tal vez te resulte más familiar el término carpeta) en el que pueda almacenar ni ejecutar ficheros temporales.

Falla la subida de la imagen

Por defecto, WordPress utiliza el directorio /tmp, que por lo general tiene permisos 777. Si quieres saber más sobre los permisos échale un vistazo a nuestro artículo en el que comentamos algunos métodos para mejorar la seguridad de WordPress.

Puede que el hosting en el que está alojado tu WordPress haya limitado el acceso a ese directorio, por lo que en ese caso habrá tareas que WordPress no podrá realizar. Para evitar depender del directorio /tmp, vamos a crear un directorio y hacer que WordPress ejecute ahí los ficheros temporales que necesita.

Nota: Vamos a realizar la guía usando el terminal, pero puedes seguirla sin necesidad de disponer de un terminal o conexión SSH. En ese caso tendrás que utilizar las herramientas que tengas disponibles para realizar los mismos pasos.

Primero vamos a crear el directorio. Puedes llamarlo como quieras, aunque en el ejemplo lo hemos llamado tmp para asociarlo con el directorio temporal. Sitúate en el directorio donde está instalado WordPress con el comando cd $DIRECTORIO_WP y luego crea el directorio mkdir $TMP_DIR.
La variable $DIRECTORIO_WP es la ruta al directorio en el que se encuentra instalado WordPress, y $TMP_DIR es el nombre del directorio temporal.

Crear carpeta temporal

El directorio que has creado debe tener los permisos correctos. Estos permisos dependerán de tu sitio web, aunque los más habituales son 775 o 755.

Ahora vamos a indicarle a WordPress que debe usar ese directorio como directorio temporal. Edita el fichero wp-config.php e introduce la directiva define( 'WP_TEMP_DIR', '$DIRECTORIO_WP/$TMP_DIR' );. Sustituye $DIRECTORIO_WP y $TMP_DIR por la ruta al directorio donde tienes instalado WordPress y el nombre del directorio (o carpeta) que has creado para ser el directorio temporal de WordPress.

Indicar en wp-config.php la carpeta temporal

Es posible que tras hacer esto sigas sin poder subir archivos a tu WordPress. Esto se debe a que PHP tampoco tiene un directorio temporal en el que ejecutarse. Vamos a aprovechar y hacer que php utilice el mismo directorio que acabamos de crear.
Si tu sitio web está utilizando PHP-FPM, basta con introducir las siguientes directivas en el pool que esté ejecutando.

env[TMP] = $DIRECTORIO_WP/$TMP_DIR
env[TMPDIR] = $DIRECTORIO_WP/$TMP_DIR
env[TEMP] = $DIRECTORIO_WP/$TMP_DIR

Sustituye nuevamente las variables que hemos mencionado anteriormente por los valores correspondientes, y reinicia la la versión de PHP-FPM que esté utilizando tu WordPress. Nota: Si utilizas un pool para varios dominios, es preferible crear un directorio fuera de los dominios y hacer que los ficheros temporales de PHP-FPM se ejecuten ahí.

Indicar la carpeta temporal en PHP-FPM

Ahora volvemos a intentar subir una imagen.

Subida de imagen exitosa

Como podemos observar, ya podemos subir ficheros a WordPress.

Si después de esto sigues sin poder subir imágenes, contacta con tu hosting, pues el error debe ser a nivel de sistema.

Con nuestro Hosting WordPress Administrado ya configuramos previamente el servidor, incluyendo la carpeta temporal, por lo que no debes preocuparte por este problema.

¿Nos ayudas a mejorar la calidad del blog?
Déjanos una valoración sobre este post para poder seguir mejorando
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)
Cargando...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


* Campo obligatorio.