🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'Failed to open stream: Permission denied' en WordPress (cPanel)

Actualizado el 6 de febrero de 2026

¿Qué significa el error "Failed to open stream: Permission denied" en WordPress?

Si estás leyendo esto, probablemente te has encontrado con un mensaje de error similar a este en tu sitio web:

Warning: fopen(/home/tuusuario/public_html/wp-content/plugins/ejemplo/cache.txt): failed to open stream: Permission denied in /home/tuusuario/public_html/wp-content/plugins/ejemplo/archivo.php on line 25

O quizás algo como:

mkdir(): Permission denied

No te preocupes, es uno de los errores más comunes en WordPress y, aunque suena técnico, tiene una solución clara y paso a paso. Este error permission denied wordpress simplemente significa que tu servidor está intentando leer, escribir o modificar un archivo o carpeta, pero los permisos actuales de ese archivo no lo permiten.

Piensa en los permisos de archivos como una cerradura con tres llaves diferentes: una para el dueño, otra para el grupo y otra para el resto del mundo. Si la llave correcta no está disponible, el archivo se niega a abrirse. Eso es exactamente lo que está ocurriendo.


¿Por qué ocurre este error?

Antes de saltar a la solución, es útil entender las causas más comunes:

  1. Permisos incorrectos después de una migración o copia de seguridad: Al mover tu sitio de un servidor a otro, los permisos pueden cambiar.

  2. Instalación de plugins o temas defectuosos: Algunos plugins intentan escribir en archivos que no deberían, o se instalan con permisos incorrectos.

  3. Cambios manuales en el servidor: Si alguien (tú, tu agencia o un soporte técnico) modificó los permisos de archivos o carpetas de forma incorrecta.

  4. Problemas de propiedad (ownership): En servidores compartidos, a veces el usuario del archivo no coincide con el usuario de PHP (a menudo llamado "nobody" o "www-data").

  5. Funciones de caché o logs: Los plugins de caché (como W3 Total Cache o WP Super Cache) necesitan escribir en carpetas específicas. Si no tienen permiso, verás este error.


Antes de empezar: haz una copia de seguridad

[WARNING] No modifiques permisos sin antes hacer una copia de seguridad completa de tu sitio (archivos y base de datos). Un cambio incorrecto puede dejar tu web totalmente inaccesible. Si no sabes cómo hacerlo, contacta con tu proveedor de hosting o usa un plugin de copias de seguridad como UpdraftPlus.


Solución paso a paso: Cómo arreglar el error "Permission denied" en cPanel

Vamos a resolverlo. Sigue estos pasos en orden. No te saltes ninguno hasta comprobar si el error persiste.

Paso 1: Identifica el archivo o carpeta problemática

El mensaje de error te dice exactamente qué archivo o carpeta tiene el problema. Busca en el mensaje la ruta completa. Por ejemplo:

/home/tuusuario/public_html/wp-content/plugins/mi-plugin/cache/

Anota esa ruta. Si el error no especifica la ruta, revisa el registro de errores de WordPress (wp-content/debug.log) o el registro de errores de cPanel (a través de "Métricas de errores" en cPanel).

Paso 2: Accede a cPanel y abre el Administrador de Archivos

  1. Inicia sesión en tu cPanel (normalmente en tudominio.com/cpanel).

  2. Busca la sección Archivos y haz clic en Administrador de Archivos.

  3. Se abrirá una nueva ventana. Navega hasta la carpeta public_html (o la carpeta raíz de tu sitio).

Paso 3: Cambia los permisos del archivo o carpeta afectada

Ahora viene la parte clave. Los permisos se representan con tres números (por ejemplo: 644, 755, 775). Te explico qué significa cada uno:

PermisoDueñoGrupoOtrosUso recomendado
644Lectura/EscrituraLecturaLecturaArchivos normales (PHP, imágenes)
755Lectura/Escritura/EjecuciónLectura/EjecuciónLectura/EjecuciónCarpetas y directorios
775Lectura/Escritura/EjecuciónLectura/Escritura/EjecuciónLectura/EjecuciónCarpetas con escritura necesaria (caché)

Para archivos: El permiso correcto es 644.

Para carpetas: El permiso correcto es 755 (o 775 si necesitan escritura, como carpetas de caché o uploads).

[INFO] La mayoría de los errores "Permission denied" se solucionan dando permisos 755 a las carpetas y 644 a los archivos. Pero si el error persiste, prueba con 775 en la carpeta específica que falla.

Cómo cambiarlo en cPanel:

  1. Haz clic derecho sobre el archivo o carpeta problemática.

  2. Selecciona Cambiar permisos (o "Permissions").

  3. En la ventana emergente, verás casillas de verificación. Marca o desmarca según el permiso que necesites (por ejemplo, para 755, marca: Dueño (lectura, escritura, ejecución), Grupo (lectura, ejecución), Otros (lectura, ejecución).

  4. Haz clic en Cambiar permisos.

Paso 4: Verifica la propiedad (ownership) de los archivos

A veces el permiso es correcto, pero el propietario del archivo no coincide con el usuario de PHP. Esto es común tras migraciones.

En cPanel, ve a Configuración de PHP (dentro de "Software") o usa el Administrador de archivos para ver si puedes cambiar el propietario. Si no tienes acceso a esta opción, contacta con tu hosting.

[TIP] Si tu hosting usa "MultiPHP Manager" (en cPanel), asegúrate de que el "PHP Run Mode" esté en "suPHP" o "FastCGI". Esto garantiza que PHP se ejecute como tu usuario, no como "nobody".

Paso 5: Revisa los plugins de caché y logs

Si el error ocurre al activar un plugin de caché, es muy probable que las carpetas de caché no tengan permisos de escritura.

  1. Ve a wp-content en el Administrador de Archivos.

  2. Busca carpetas como cache, w3tc, wp-rocket-config, etc.

  3. Cambia los permisos de esas carpetas a 755 (o 775 si el error persiste).

  4. Si el error sigue, desactiva el plugin de caché temporalmente desde el panel de WordPress (si puedes acceder) o renombra la carpeta del plugin desde el Administrador de Archivos (por ejemplo, cambia wp-content/plugins/w3-total-cache a w3-total-cache-backup). Esto lo desactivará.

Paso 6: Revisa la carpeta wp-content/uploads

A veces el error viene de la imposibilidad de subir imágenes o medios.

  1. Ve a wp-content/uploads.

  2. Cambia los permisos de esta carpeta y todas sus subcarpetas a 755 (o 775).

  3. Si tienes muchas subcarpetas, puedes hacerlo de forma recursiva usando el botón "Cambiar permisos" en la carpeta principal (cPanel te preguntará si quieres aplicar a subcarpetas; selecciona "Sí").


Solución avanzada: Usa comandos SSH (si tienes acceso)

Si tienes acceso SSH (terminal), puedes hacer lo mismo de forma más rápida y precisa. Conéctate a tu servidor y ejecuta:

# Para cambiar permisos de todas las carpetas a 755
find /home/tuusuario/public_html -type d -exec chmod 755 {} \;

# Para cambiar permisos de todos los archivos a 644
find /home/tuusuario/public_html -type f -exec chmod 644 {} \;

[WARNING] Este comando cambia todos los permisos de tu sitio. Úsalo solo si sabes lo que haces. Después, tendrás que dar permisos especiales (775) a carpetas como wp-content/uploads y wp-content/cache.

Para la carpeta de uploads:

chmod -R 775 wp-content/uploads

¿Qué pasa si el error persiste?

Si has seguido todos los pasos y el error permission denied wordpress continúa, prueba lo siguiente:

1. Desactiva todos los plugins

Renombra la carpeta wp-content/plugins a wp-content/plugins-desactivados. Esto desactiva todos los plugins. Si el error desaparece, reactiva uno a uno para encontrar el culpable.

2. Cambia el tema

Renombra la carpeta del tema activo en wp-content/themes/ (por ejemplo, de mi-tema a mi-tema-backup). WordPress usará un tema por defecto. Si el error desaparece, el problema está en el tema.

3. Revisa el archivo wp-config.php

Asegúrate de que wp-config.php tenga permisos 644. A veces se cambian por error a 444 (solo lectura), impidiendo que WordPress escriba en él.

4. Contacta con tu proveedor de hosting

Si nada funciona, el problema puede estar en la configuración del servidor (mod_security, suPHP, etc.). Tu proveedor puede ayudarte a ajustar la configuración de PHP o los permisos a nivel de servidor.


Prevención: Buenas prácticas para evitar este error

Aquí tienes algunos consejos para que no vuelva a ocurrir:

  • Usa permisos estándar: Archivos en 644, carpetas en 755. Solo cambia a 775 carpetas que necesiten escritura (uploads, cache, logs).

  • Evita usar FTP para editar permisos: Si usas un cliente FTP como FileZilla, asegúrate de no cambiar permisos de forma masiva accidentalmente.

  • Mantén WordPress, plugins y temas actualizados: Las actualizaciones suelen corregir problemas de permisos.

  • Haz copias de seguridad periódicas: Así, si algo sale mal, puedes restaurar rápidamente.

  • No des permisos 777: Es el permiso más inseguro (todos pueden escribir). Nunca lo uses en producción. Si un plugin te lo pide, busca alternativas.


Preguntas frecuentes (FAQ)

¿Por qué mi WordPress da error de permisos después de una migración?

Al migrar, los archivos se copian con los permisos del servidor de origen. Es muy común que la propiedad y los permisos cambien. La solución es reasignar permisos 644/755 y verificar la propiedad con tu hosting.

¿Es peligroso cambiar los permisos de archivos en WordPress?

Si cambias permisos a 777, sí es peligroso porque cualquier usuario podría modificar tus archivos. Pero cambiar a 644/755 es seguro y estándar en la mayoría de los hosting.

¿Qué significa "cpanel permisos" exactamente?

Se refiere a la forma en que cPanel permite gestionar los permisos de archivos y carpetas a través de su Administrador de Archivos. Es la interfaz gráfica para hacer lo mismo que harías con chmod en la terminal.

¿El error "error stream wp" es lo mismo que "Permission denied"?

Sí, "error stream wp" es una forma abreviada de referirse al error de flujo (stream) en WordPress, que generalmente es un problema de permisos al intentar abrir un archivo. La solución es la misma.

¿Puedo usar un plugin para arreglar los permisos?

Sí, existen plugins como "WP File Permissions" o "Fix File and Folder Permissions" que pueden ayudarte. Sin embargo, te recomiendo hacerlo manualmente con los pasos anteriores para tener control total.


Conclusión

El error "Failed to open stream: Permission denied" en WordPress es molesto, pero tiene solución. La clave está en entender los permisos de archivos y saber cómo cambiarlos desde cPanel. Con los pasos que te he dado, podrás resolverlo en la mayoría de los casos sin necesidad de ser un experto.

Recuerda: archivos en 644, carpetas en 755, y solo aumenta permisos en carpetas que realmente necesiten escritura. Si el problema persiste, no dudes en contactar con tu proveedor de hosting; para eso están.

[TIP] Guarda este artículo como referencia. Los problemas de permisos son recurrentes, sobre todo cuando instalas plugins que generan caché o cuando haces migraciones. Con práctica, lo resolverás en menos de 10 minutos.


¿Te ha funcionado esta guía? Si tienes dudas o quieres compartir tu experiencia, déjanos un comentario. ¡Estamos aquí para ayudarte!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel