UA-51298262-10 Skip to main content
WordPress

Error «Missing a Temporary Folder» en WordPress: Cómo Solucionarlo

By octubre 21, 2026No Comments
Error 'Missing a Temporary Folder' en WordPress: Cómo Solucionarlo

Missing a Temporary Folder es de esos errores de WordPress que aparecen sin previo aviso y te dejan tirado: no puedes subir imágenes, instalar plugins o temas, y a veces ni actualizar el núcleo. El mensaje, que suele mostrarse en inglés («Missing a Temporary Folder») o traducido como «Falta la carpeta temporal», viene a decir que PHP no encuentra el directorio temporal donde guarda los archivos antes de moverlos a su destino final en wp-content/uploads. Lo bueno: en la mayoría de los casos se arregla en menos de diez minutos. Aquí explicamos qué lo provoca, las causas más habituales y las soluciones paso a paso, empezando por la que mejor funciona. Y si prefieres no tocar código, en RedServicio (redservicio.net) puedes conseguir ayuda profesional para resolverlo con garantías.

¿Qué es el error «Missing a Temporary Folder» y por qué aparece?

Cada vez que subes algo a WordPress (una imagen, un plugin en ZIP, una actualización), PHP guarda primero ese archivo en un directorio temporal definido en la configuración del servidor, normalmente controlado por la directiva upload_tmp_dir o por el valor por defecto de sys_get_temp_dir(). Terminada la subida, WordPress mueve el archivo desde esa carpeta temporal hasta su ubicación definitiva.

El error salta cuando intentas cualquiera de esas acciones y WordPress te suelta esto:

Missing a Temporary Folder. / Falta la carpeta temporal.

En el fondo, la conversación es esta: WordPress le pide a PHP «dame el archivo recién subido» y PHP responde que no sabe dónde está, porque la carpeta temporal no existe, no tiene permisos correctos o la ruta configurada está mal. Ojo, no es un fallo de WordPress en sí, sino del servidor. Por eso la solución suele pasar por definir manualmente una carpeta temporal que funcione.

Causas más comunes del error «Missing a Temporary Folder» en WordPress

Antes de ponerte a probar cosas, conviene identificar el origen. Estas son las causas que más nos encontramos:

  • Configuración PHP incorrecta: la directiva upload_tmp_dir apunta a una ruta que no existe en el servidor o tiene alguna errata.
  • Permisos inadecuados: la carpeta temporal existe, pero el usuario con el que corre PHP (por ejemplo, www-data) no puede escribir en ella.
  • Cuota de disco agotada: si el hosting se queda sin espacio, PHP no puede crear archivos temporales aunque la carpeta esté ahí.
  • Problemas con la carpeta /tmp del sistema: en VPS o servidores dedicados, el directorio /tmp puede haberse vaciado mal, montarse como solo lectura o tener los inodos saturados.
  • Migraciones recientes: al mover el sitio de hosting, la ruta absoluta de la carpeta temporal cambia y las referencias antiguas dejan de valer.
  • Restricciones de seguridad: directivas como open_basedir pueden impedir que PHP acceda a la carpeta temporal configurada.

Saber la causa te ahorra pruebas a ciegas. Si el error apareció tras una migración, mira las rutas. Si surgió de golpe en un VPS, comprueba el espacio en disco.

Solución 1: Definir la carpeta temporal en wp-config.php

Es la solución más rápida y la que más veces funciona. Consiste en crear tu propia carpeta temporal dentro de la instalación de WordPress y decirle a WP que la use.

Paso 1: Crear la carpeta temporal

Conéctate por FTP o al gestor de archivos de tu hosting y crea una carpeta llamada temp dentro de wp-content. La ruta final debe quedar así:

/home/usuario/public_html/wp-content/temp

Paso 2: Editar wp-config.php

Abre el archivo wp-config.php de la raíz de WordPress y añade estas líneas justo antes del comentario que dice /* That’s all, stop editing! */:

define(‘WP_TEMP_DIR’, dirname(__FILE__) . ‘/wp-content/temp/’);

Paso 3: Ajustar permisos

Asegúrate de que la carpeta temp tenga permisos 755 (o 775 si tu servidor lo pide) y que el propietario sea el mismo usuario que ejecuta PHP. Guarda, y prueba a subir una imagen desde Medios > Añadir nuevo.

Consejo: si tu hosting usa una ruta absoluta distinta, puedes comprobarla creando un archivo PHP con <?php echo dirname(__FILE__); ?> o consultando el valor de ABSPATH. Usar dirname(__FILE__) evita errores de ruta hardcodeada al migrar.

En la mayoría de los casos, este ajuste resuelve el error de inmediato, porque WordPress deja de depender de la configuración temporal de PHP del servidor. ¿Persiste? En las siguientes secciones veremos alternativas a nivel de servidor y de configuración PHP.

Solución 2: Crear la carpeta wp-content/temps con los permisos correctos

¿Y si editar wp-config.php no bastó? Entonces lo más probable es que la carpeta temporal que has definido no exista o no tenga permisos de escritura. WordPress necesita escribir en ella, y PHP también debe poder acceder. Vamos paso a paso:

  1. Conéctate por FTP o SSH al servidor y entra en wp-content.
  2. Crea una carpeta llamada temps (o el nombre que hayas puesto en WP_TEMP_DIR, ojo con eso).
  3. Dale permisos 755. En la mayoría de hostings compartidos con esto basta. Solo en casos excepcionales harán falta 775 o 770, según qué usuario ejecuta el proceso PHP.
  4. Si trabajas por SSH, son dos comandos: mkdir wp-content/temps y chmod 755 wp-content/temps.

Aquí suelo ver el mismo error una y otra vez: gente que pone 777 porque «así se arregla todo». Funciona, sí. Pero es un agujero de seguridad innecesario. Si con 755 no tira, el problema casi siempre está en el propietario de la carpeta, que debe coincidir con el usuario que ejecuta PHP (www-data, por ejemplo, en servidores Apache sobre Ubuntu). Se corrige con chown www-data:www-data wp-content/temps.

Comprueba también que no haya un .htaccess, mod_security o algún plugin de seguridad bloqueando la escritura dentro de wp-content. Pasa más de lo que parece.

Solución 3: Ajustar upload_tmp_dir en php.ini y verificar con el hosting

Cuando nada de lo anterior funciona, el asunto está en la configuración de PHP del servidor. La directiva upload_tmp_dir dice a PHP dónde guardar los archivos temporales durante las subidas, y si apunta a una ruta que no existe (o sin permisos), ahí tienes tu «Missing a Temporary Folder».

Editar php.ini manualmente

Con VPS o servidor dedicado, localiza tu php.ini — la ruta sale con php –ini en consola, o con un phpinfo() — y añade o ajusta estas líneas:

  • upload_tmp_dir = /tmp
  • sys_temp_dir = /tmp

Verifica que /tmp exista y tenga permisos 1777. El bit «sticky» importa, no lo quites. Después reinicia PHP: sudo systemctl restart php8.1-fpm, o el equivalente según tu versión.

Si usas hosting compartido

En compartido normalmente no puedes tocar php.ini directamente. Hay alternativas, eso sí:

  • Crear un archivo php.ini o .user.ini en la raíz de WordPress con la directiva upload_tmp_dir.
  • Usar el panel de control. cPanel, Plesk y otros suelen traer un editor de configuración PHP (en cPanel se llama «MultiPHP INI Editor»).

¿Sigues atascado? Habla con tu proveedor. Puede que tengan open_basedir restringido o alguna configuración que impida escribir en las rutas temporales. Dales el error exacto y la ruta que intentas usar; les ahorras tiempo y a ti días de ida y vuelta por soporte.

Conclusión: Cómo prevenir el error «Missing a Temporary Folder» en el futuro

Visto en frío, el error asusta más de lo que debe. Casi siempre se arregla con tres cosas: definir WP_TEMP_DIR en wp-config.php, crear la carpeta temporal con permisos 755 y asegurarse de que la configuración PHP apunta a una ruta válida. La gracia está en ir por capas: primero WordPress, luego permisos, y solo al final el nivel del servidor.

  • Definir siempre WP_TEMP_DIR en wp-config.php. Sobre todo tras migraciones o cambios de hosting.
  • Incluir la carpeta temporal en las copias de seguridad y revisar sus permisos después de cada actualización importante del servidor.
  • Comprobar la ruta temporal al actualizar la versión de PHP — algunas actualizaciones restablecen directivas sin avisar.
  • Mantener un canal ágil con el proveedor de hosting para detectar cambios de configuración que afecten a PHP.

Y si tras todo esto el error sigue ahí, en RedServicio (redservicio.net) puedes encontrar ayuda profesional para diagnosticar y resolver cualquier problema técnico de WordPress o de tu servidor, con soluciones probadas por gente que lleva años en esto.