[Prestashop error] – Smarty: Unable to write file smarty_internal_write_file.php on line 46

Publicado en: 8 de marzo de 2019

SOLUCIÓN SOLO PARA PRESTASHOP VERSIÓN 1.6

En este Post os vamos a explicar las causas de este error y cómo se debe solucionar. En concreto, este es un error relacionado con la escritura de archivos de caché de Prestashop. Además, cuando se origina lanza el siguiente mensaje:

Copy to Clipboard

Cuando ocurre esta situación, la pantalla del Back-office y del Front-office se queda en blanco. Solamente activando el modo Debug de Prestashop se podrá ver el mensaje anterior. Mientras dure este error será imposible operar en el Back-office y Front-office de la tienda. Por lo tanto, vuestra tienda Prestashop quedaría inoperativa.

¿Cuáles son las causas de este error?

Si prestamos atención al mensaje de error,  abrimos el archivo ubicado en /tools/smarty/sysplugins/smarty_internal_write_file.php y vamos a la línea 46, podemos ver el siguiente código:

Copy to Clipboard

Para los que sepan lenguaje de programación, pueden ver que se trata de una función. Esta se encarga de escribir un archivo con una serie de datos para la caché. Y para los que no entienden de lenguaje de programación, si se fijan en el nombre de la función:

Copy to Clipboard

Lo podrán deducir con solo leer el nombre de la función que se llama writeFile.

Este error puede ocurrir por uno de los dos motivos siguientes:

  1. Problema de permisos en la carpeta /cache/smarty/compile/
  2. Falta de espacio de cuota de disco en el servidor.

Caso 1 – Solución

Este problema de permisos ocurre en algunos servidores que no tienen como defecto asignar los permisos 755 a las carpetas y archivos. Y por esa razón, para solucionarlo se deberá de aplicar los permisos 755 al directorio, subdirectorios y archivos de la siguiente ruta:

/cache/smarty/compile/

En caso de no poderlo hacer por uno mismo a través del panel de hosting o mediante FTP, entonces se deberá envíar un ticket de soporte al proveedor de Hosting para que ellos lo hagan por ti. De esta manera, solicitarles que apliquen dichos permisos a la carpeta indicada. En caso de poderlo hacer uno mismo.

Caso 2 – Solución

Si los permisos asignados a la carpeta de caché son correctos, entonces solo queda pensar que el tamaño de cuota de disco del servidor es insuficiente. Por lo tanto, a causa de este problema no es posible realizar la escritura de archivos de caché por no disponer de capacidad de disco suficiente para hacerlo.

Es posible que veáis que en vuestro servidor Hosting todavía le quede algo de memoria disponible. Aún así, os puede ocurrir que el sistema no consiga escribir los archivos de caché por ser superior el tamaño de los archivos a la de la memoria disponible del disco duro del servidor.

Para solucionarlo hay que ponerse en contacto con el proveedor de Hosting contratado. Pedirle una ampliación de tamaño de disco duro.  Ten en cuenta que la capacidad de disco duro idónea para instalar una tienda online bajo la plataforma Prestashop, debe ser de al menos 5Gb. Son más recomendables los tamaños de 15Gb a 30 Gb, dependiendo del tamaño de la tienda y del contenido de la misma.

Esperamos haberos ayudado en la resolución de este error tan frecuente en Prestashop y que dejan totalmente inoperativas a las tiendas afectadas.

¿Quieres cambiar de proveedor de hosting web o contratar un servidor totalmente optimizado para las tiendas Prestashop?

Si no quieres que te vuelva a ocurrir este problema que comentamos en el artículo, entonces tienes que contratar uno de nuestros planes de hosting web. Disponemos de servidores de alto rendimiento, 100% optimizados para el uso con tiendas online Prestashop. Podrás disponer de amplio espacio en disco y libertad para configurar el servidor adaptándolo a tus necesidades.