Cómo arreglar el error 'No se puede escribir en el archivo de caché' en PrestaShop
¿Qué significa el error “No se puede escribir en el archivo de caché” en PrestaShop?
Si estás leyendo esto, es muy probable que hayas visto un mensaje similar a este en tu panel de administración o incluso en la parte frontal de tu tienda:
Error: No se puede escribir en el archivo de caché.
Este error es uno de los más comunes en PrestaShop, especialmente después de una actualización, un cambio de servidor o al instalar un módulo nuevo. La buena noticia es que, en la mayoría de los casos, no es un problema grave y tiene solución en pocos minutos.
Para que lo entiendas fácilmente: PrestaShop utiliza archivos temporales (la caché) para acelerar la carga de tu tienda. Guarda versiones "ya preparadas" de tus páginas para no tener que generarlas desde cero cada vez que un cliente entra. Si el sistema no puede escribir en esos archivos, se bloquea y te muestra ese aviso.
En este artículo, te voy a explicar paso a paso cómo arreglar el error caché prestashop, ajustar los permisos carpeta cache prestashop y evitar que vuelva a aparecer. Vamos a ello.
¿Por qué ocurre este error?
Antes de lanzarnos a la solución, es importante que sepas por qué pasa. Así podrás prevenirlo en el futuro. Las causas más habituales son:
- Permisos incorrectos en las carpetas de caché: PrestaShop necesita permisos de escritura (normalmente 755 o 775) en las carpetas
/var/cachey/cache. - Cambio de servidor o de proveedor de hosting: Al migrar tu tienda, los permisos se restablecen y no siempre quedan configurados correctamente.
- Actualizaciones fallidas: Tanto de PrestaShop como de módulos o temas, pueden dejar archivos huérfanos o bloquear la escritura.
- Espacio en disco insuficiente: Si el servidor no tiene espacio libre, no puede escribir archivos temporales.
- Configuración de PHP restrictiva: Algunos entornos limitan la creación de archivos por seguridad.
Ahora sí, vamos a las soluciones. Te las presento de la más sencilla a la más avanzada.
Solución 1: Limpiar la caché desde el panel de administración
A veces, el error es solo un archivo corrupto o bloqueado. Lo primero que debes intentar es limpiar la caché desde el propio PrestaShop.
Sigue estos pasos:
- Accede a tu panel de administración de PrestaShop (normalmente en
www.tutienda.com/admin). - Ve al menú Parámetros avanzados > Rendimiento.
- Busca la opción Limpiar la caché y haz clic en el botón que dice Vaciar la caché (o "Clear cache" si lo tienes en inglés).
- También puedes forzar la compilación en la sección Plantilla > Forzar la compilación y guardar los cambios.
Este método es el más rápido. Si el error persiste, pasa a la siguiente solución.
Solución 2: Corregir los permisos de la carpeta de caché manualmente
Este es el paso más importante y el que resuelve el 90% de los casos. Se trata de darle a PrestaShop los permisos carpeta cache prestashop que necesita.
¿Qué permisos necesita?
- Para las carpetas: 755 (lectura, escritura y ejecución para el propietario; lectura y ejecución para el grupo y otros).
- Para los archivos: 644 (lectura y escritura para el propietario; solo lectura para el grupo y otros).
Si tu hosting es compartido, a veces necesitas usar 775 en las carpetas y 664 en los archivos. Esto depende de la configuración del servidor.
Cómo cambiarlos con un cliente FTP (FileZilla)
- Descarga e instala FileZilla (es gratuito) y conéctate a tu hosting usando tus credenciales FTP.
- Navega hasta la raíz de tu instalación de PrestaShop.
- Localiza la carpeta
/var/cachey también/cache(en versiones antiguas). - Haz clic derecho sobre la carpeta
/var/cachey selecciona Permisos de archivo. - Introduce el valor 755 (o 775 si estás en un hosting compartido) y marca la casilla Recursivo para que se aplique a todas las subcarpetas y archivos.
- Haz clic en Aceptar y espera a que el proceso termine.
Repite el mismo proceso con la carpeta /cache si existe.
Cómo cambiarlos desde el administrador de archivos de tu hosting
Si no quieres usar FTP, también puedes hacerlo desde el panel de control de tu hosting (cPanel, Plesk, Syspanel, etc.).
- Entra en tu panel de hosting.
- Busca el Administrador de Archivos.
- Navega hasta la carpeta de tu tienda.
- Selecciona la carpeta
/var/cachey haz clic en Permisos. - Introduce el valor 755 y aplica los cambios de forma recursiva.
[TIP] Si tu hosting usa Syspanel (antes conocido como HestiaCP), recuerda que el acceso se realiza a través del puerto 2106. Por ejemplo: https://tu-servidor:2106. Allí encontrarás el administrador de archivos en la sección de tu dominio.
Solución 3: Eliminar manualmente los archivos de caché
Si los permisos ya están bien pero el error continúa, es posible que haya archivos corruptos dentro de la caché. La solución es eliminarlos por completo.
Pasos para eliminar la caché manualmente
- Conecta por FTP o usa el administrador de archivos de tu hosting.
- Entra en la carpeta
/var/cache(y/cachesi existe). - Dentro de esa carpeta, encontrarás subcarpetas como
dev,prod,class_index.php, etc. - Selecciona todo el contenido dentro de
/var/cachey elimínalo. No borres la carpeta en sí, solo su contenido. - También puedes borrar el contenido de la carpeta
/themes/tu_tema/cachesi existe.
Después de esto, ve a tu tienda y recarga la página. PrestaShop regenerará la caché desde cero.
[WARNING] No borres la carpeta /var/cache completa, solo su contenido interno. Si la eliminas, PrestaShop podría dar errores más graves.
Solución 4: Desactivar la caché temporalmente
Si el error persiste y necesitas que tu tienda funcione ya, puedes desactivar la caché mientras resuelves el problema de raíz.
- Ve a Parámetros avanzados > Rendimiento.
- En la sección Caché, selecciona No (o "Off").
- Guarda los cambios.
Esto hará que PrestaShop no intente escribir archivos de caché, eliminando el error de inmediato. Eso sí, tu tienda cargará un poco más lenta, pero es una solución temporal perfecta mientras corriges los permisos.
Solución 5: Revisar el espacio en disco del servidor
Un disco lleno puede provocar este error. Para comprobarlo:
- Si tienes acceso a Syspanel (puerto 2106), ve a la sección de estadísticas o uso de disco.
- En cPanel, busca "Uso de disco" en la sección de archivos.
- Si el espacio está al 100%, tendrás que borrar archivos temporales, copias de seguridad antiguas o logs.
También puedes comprobar el espacio desde SSH si tienes acceso:
df -h
Si ves que la partición está al 100%, libera espacio y vuelve a intentar limpiar la caché.
Solución 6: Aumentar el límite de memoria PHP
A veces, el error no es de permisos sino de falta de memoria. PrestaShop necesita un mínimo de 256 MB de memoria PHP.
- Accede a la carpeta raíz de tu PrestaShop.
- Busca el archivo
config/settings.inc.php(versiones antiguas) oapp/config/parameters.php(versiones modernas). No te asustes, no necesitas tocarlos. - En su lugar, crea o edita un archivo llamado
php.inien la raíz y añade:
memory_limit = 512M
max_execution_time = 300
Si no puedes crear un php.ini, puedes intentar añadir esta línea en el archivo .htaccess:
php_value memory_limit 512M
Guarda los cambios y recarga la tienda.
Solución 7: Revisar la configuración de PHP (mod_security o suhosin)
En algunos servidores, módulos como mod_security o suhosin bloquean la creación de archivos por parte de PrestaShop. Esto es más raro, pero ocurre en entornos muy restrictivos.
Puedes probar a desactivar temporalmente estas protecciones desde el panel de tu hosting. Si el error desaparece, sabrás que es la causa. Luego puedes ajustar las reglas para que no afecten a tu tienda.
Solución 8: Reinstalar o reparar los archivos de PrestaShop
Si nada de lo anterior funciona, es posible que algunos archivos del núcleo estén dañados. En este caso:
- Descarga la misma versión de PrestaShop que tienes instalada desde el sitio oficial.
- Descomprime el archivo en tu ordenador.
- Sube solo la carpeta
/vary/cachepor FTP, reemplazando los existentes.
[INFO] No subas los archivos de configuración (config/settings.inc.php o app/config/parameters.php) para no perder tu configuración actual.
Cómo prevenir este error en el futuro
Una vez que hayas solucionado el error caché prestashop, toma nota de estas recomendaciones para que no vuelva a aparecer:
- Establece permisos correctos después de cada actualización de PrestaShop, módulos o temas.
- Realiza copias de seguridad periódicas de tu tienda y tu base de datos.
- Mantén actualizado tu PrestaShop a la última versión estable.
- Revisa el espacio en disco mensualmente.
- Configura un sistema de limpieza automática de caché (hay módulos que lo hacen).
- Si migras de hosting, verifica los permisos inmediatamente después de la migración.
Preguntas frecuentes (FAQ)
¿Por qué PrestaShop no escribe en la caché si los permisos están bien?
Puede deberse a que el propietario del archivo no coincide con el usuario del servidor web (Apache/Nginx). Asegúrate de que los archivos pertenecen al mismo usuario que ejecuta PHP. En Syspanel, esto se configura en la sección de "Dominios" > "Opciones avanzadas".
¿Es peligroso desactivar la caché?
No es peligroso, pero tu tienda será más lenta. Es una solución temporal recomendada mientras corriges el problema de permisos.
¿Puedo borrar la carpeta cache entera?
No. Solo debes borrar su contenido. La carpeta en sí debe existir siempre.
¿Cómo sé qué versión de PrestaShop tengo?
Ve a Parámetros avanzados > Información en tu panel de administración. Allí verás la versión exacta.
¿Este error afecta al SEO de mi tienda?
Indirectamente, sí. Si el error aparece en la parte frontal, Google podría tener problemas para rastrear tu sitio. Además, una tienda lenta o caída perjudica el posicionamiento. Por eso es importante solucionarlo rápido.
Conclusión
El error "No se puede escribir en el archivo de caché" es molesto pero totalmente solucionable. En la mayoría de los casos, basta con ajustar los permisos carpeta cache prestashop y limpiar caché prestashop correctamente.
Recuerda el orden lógico de actuación:
- Limpia la caché desde el panel.
- Corrige permisos de
/var/cachey/cache. - Borra el contenido manualmente.
- Desactiva la caché como parche temporal.
- Revisa espacio y memoria PHP.
- Si todo falla, repara los archivos del núcleo.
Con paciencia y siguiendo estos pasos, tu tienda volverá a funcionar a la perfección. Y si tu hosting usa Syspanel, no olvides que el acceso al panel es por el puerto 2106 para gestionar archivos y permisos cómodamente.
Espero que esta guía te haya sido de ayuda. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte. ¡Buena suerte con tu tienda!
