Qué importa primero: PHP necesita un directorio temporal escrito antes de que WordPress pueda mover un archivo cargado a wp-content/subidas. El error ocurre antes de que los permisos de medios normales sean relevantes.
Qué indica realmente este síntoma
Cambiar los permisos de carga no puede solucionar un fallo de directorio temporal. El usuario de PHP identifica la capa rota.
Recopila pruebas antes de cambiar nada
- Comprueba el tiempo de ejecución eficaz de subida_tmp_dir en la web PHP.
- Verifica que el directorio existe, tiene espacio libre y es escrito por el usuario de PHP-FPM.
- Inspecciona los montajes de open_basir o contenedor que pueden ocultar la ruta configurada.
- Prueba una pequeña carga mientras observa el error de PHP log.
Causas más habituales
- Falta el directorio: La ruta temp configurada fue removida o nunca montada en el contenedor.
- Desajuste de propiedad: Las implementaciones o cambios de servidor dejaron el directorio escrito solo por otro usuario.
- Agotamiento del disco o del inodo: La ruta existe pero no puede crear otro archivo.
- Ruta restringida: open_basedir, SELinux, AppArmor o un contenedor de acceso a bloques de límites.
Secuencia segura de diagnóstico y reparación
- Cree o monte el directorio temporal previsto con el propietario correcto y permisos estrechos.
- Suba_tmp_dir a una ruta persistente disponible para el tiempo de ejecución PHP activo.
- Limpiar los archivos temporales abandonados solo después de confirmar que no están en uso.
- Repite las cargas pequeñas y realistas y Confirma que los archivos temporales se eliminan después.
Cómo distinguir entre las causas probables
No trates Falta el directorio y Desajuste de propiedad como causas equivalentes. La ruta temp configurada fue removida o nunca montada en el contenedor. En cambio, las implementaciones o cambios de servidor dejaron el directorio escrito solo por otro usuario. Para distinguirlas, usa estas dos comprobaciones: Comprueba el tiempo de ejecución eficaz de subida_tmp_dir en la web PHP; y verifica que el directorio existe, tiene espacio libre y es escrito por el usuario de PHP-FPM. Con esos datos podrás decidir si conviene aplicar la primera acción controlada —Cree o monte el directorio temporal previsto con el propietario correcto y permisos estrechos— o si debes conservar el estado actual y ampliar la investigación.
En un sitio de WordPress en producción, repite la petición que falla mientras compruebas una página que funciona correctamente y el área de administración. Un fallo aislado en una ruta requiere un rollback más acotado que un problema que afecta a PHP, la base de datos o todas las peticiones. Documenta la fecha y hora exactas, la URL o transacción afectada, el último estado correcto conocido y cada cambio realizado durante el diagnóstico. Ese registro permite distinguir una reparación reproducible de una desaparición temporal del síntoma.
Qué no debes hacer
No Usa un directorio compartido con escritura mundial sin controles de bits pegajosos y de aislamiento. Las cargas temporales pueden contener datos confidenciales del cliente.
Cómo verificar la reparación
- Los medios de comunicación carga completan y generan los tamaños esperados.
- El directorio temp permanece escrito después de reiniciar o implementar.
- No se acumulan archivos huérfanos ni errores de permiso.
Que el síntoma visible desaparezca no es suficiente. Cierra la incidencia solo cuando la acción original que fallaba, el recorrido de negocio relacionado y los registros relevantes confirmen que el problema ha desaparecido.