Jump to content

Blank Page after Cache clearing: PHP Fatal error: Uncaught --> Smarty: unable to create directory


fox@dog1

Recommended Posts

Hallo Zusammen

Seit dem Upgrade auf PS 1.7.8.3 und mittlerweile PS 1.7.8.5 habe ich von Zeit zu Zeit eine Blank Page nach dem Cache löschen. Neu habe ich es auch auf im Front Office, wenn ich von der Startseite auf die Produktseite klicke.

Der Fehler ist: mod_fcgid: stderr: PHP Fatal error:  Uncaught  --> Smarty: unable to create directory

Wenn ich dann dieses Verzeichnis lösche, funktioniert alles wieder. Ich habe jetzt die Benutzerrechte geändert, diese Lösung funktioniert nachträglich. Aber wenn das System automatisch ein Verzeichnis oder Datei erstellt, werden die Standart-Benutzerrechte 644 für Datei und 755 für Verzeichnisse vergeben. Gibt es eine andere Lösung. Oder kann mir jemand sagen, wie der dieser Fehler entsteht. Denn bis zu den PS 1.7.8 Versionen, hatte ich noch nie dieses Problem.

Ich nutze PS 1.7.8.5 mit PHP 7.4

Das Error-Log zeigt folgenden Fehler an:

 

[Fri Apr 22 11:28:09.805290 2022] [fcgid:warn] [pid 2328206] [client 139.178.22.205:0] mod_fcgid: stderr: PHP Fatal error:  Uncaught  --> Smarty: unable to create directory /xxx/xxx/xxx/xxx/xxx/var/cache/prod/smarty/compile/PRS022/e7/d9/38 <-- , referer: https://www.anjasshop.ch/
[Fri Apr 22 11:28:09.805408 2022] [fcgid:warn] [pid 2328206] [client 139.178.22.205:0] mod_fcgid: stderr:   thrown in /xxx/xxx/xxx/xxx/xxx/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_writefile.php on line 51, referer: https://www.anjasshop.ch/
[Fri Apr 22 11:28:21.425367 2022] [fcgid:warn] [pid 1538179] [client 139.178.22.205:0] mod_fcgid: stderr: PHP Fatal error:  Uncaught  --> Smarty: unable to create directory /xxx/xxx/xxx/xxx/xxx/var/cache/prod/smarty/compile/PRS022/e7/d9/38 <-- , referer: https://www.anjasshop.ch/
[Fri Apr 22 11:28:21.425520 2022] [fcgid:warn] [pid 1538179] [client 139.178.22.205:0] mod_fcgid: stderr:   thrown in /xxx/xxx/xxx/xxx/xxx/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_writefile.php on line 51, referer: https://www.anjasshop.ch/

 

Besten Dank im Voraus für eure Hilfe.

 

Link to comment
Share on other sites

Hast du deinen Cache manuell gelöscht also bist du auch im FTP in dein Verzeichnis gegangen und hast dort den Cache gelöscht?

Gehe dazu wie folgt vor:


/deinShop(root)/var/cache und lösche dort die Ordner dev und prod.

Verwendest du denn den smarty? Denn wenn nicht deaktiviere diesen und schau mal ob der Fehler noch bestehen bleibt.

 

So wie ich das sehe hast du ein gekauftes Theme, wo wir in den letzten Jahren immer Probleme mit hatten, da wir noch nicht genug wissen hatten diese auch wirklich Ordnungsgemäß zu updaten. Denn hier muss jede Datei die überschrieben wird im Detail auch ggf angepasst werden. Falls nicht kommen genau solche Fehler zu stande.

 

  • Thanks 1
Link to comment
Share on other sites

Hallo SchmidtSon

 

Besten Dank für deine Antwort.

Ja, das Verzeichnis var/cache/prod lösche ich immer, wenn der Fehler entsteht.

Ja, ich nutze Smarty. Ich habe jetzt diesen zum Test deaktiviert. Das Module Memcache, Smart Cache für CSS und JS sind noch aktiviert.

Das mit dem Thema habe ich schon vermutet. Das Thema ist ca. 2 Jahre alt. Ich habe immensen Aufwand betrieben, dies zu gestalten und anzupassen. Das sind alles in allem 3 – 4 Monate Arbeit ein Neues zu gestalten, übersetzen und anzupassen. Deswegen wäre das nur Plan B. Bis Prestashop 1.7.8.3 hat das Thema wunderbar funktioniert.

Aber das Problem mit dem Smarty tritt in 95% aller Fälle nur im Backoffice auf. Bis jetzt hatte ich nur ein Fall im Frontoffice. Ist dann wirklich das Thema schuld?

Und heute habe ich nach einer Blank page den Dateien im var/cache/prod/smarty mehr Benutzerrechte vergeben. Dies funktioniert.

Kann man den neuerstellten Dateien in diesem Verzeichnis nicht automatisch mehr Rechte als 644 geben? Meiner Meinung ist das die Lösung meines Problemes.

Link to comment
Share on other sites

Hi ich glaube nicht an sich, dass es das Theme selbst ist, sondern ich glaube einfach dass bei dem Update eine Variable neu geschrieben bzw. benannt wurde und ich denke halt einfach, dass diese Variable bei deinem gekauften Theme nicht berücksichtigt wurde/wird und eben bei dem Update nicht mit angepasst wurde, hast du die Liste der fehlenden Daten bzw. nicht zureichenden Übereinstimmungen abgearbeitet, nachdem du deinen Shop upgedatet hast?

Wenn nicht, löscht der Shop teilweise Daten im Core oder ändert Werte, Verzeichnisse usw. wenn diese eben bei deinem Theme bspw. auf das Standard-Theme 1.7.1 ausgelegt sind kann es sein, dass sich bis 1.7.8 eben einige Zeilen, Passagen oder Befehle geändert haben bei denen sich dein Theme auf den Core bezieht. Diese müssen dann händisch von dir angepasst werden, oder eben das gekaufte Theme in der aktuellsten Version downloaden und installieren, damit wären aber all deine eigenen Anpassungen hinfällig. 😕 (schlechteste Idee, mit meisten Auswand)

 

Im besten Fall kannst du einen Fall-Back machen und hast deine Datenbank gespeichert sodass du auf die letzte laufende Version wieder downgraden kannst.

Vll. weiss aber jemand anders Hilfe und kennt dieses Problem und kann dir direkt sagen an was es liegt.
Wir selber schreiben und Themes mittlerweile selbst und wissen daher sehr schnell wo wir suchen müssen bzw. welche Zeilen wir anpassen müssen.

 

 

Link to comment
Share on other sites

Diese Verzeichnisse waren bei mir leer. Ich habe jetzt die Benutzerrechte angepasst. Vielleicht hilft es.

 

Du hast recht mit den Updates. Als ich das Thema ausgewählt habe, nutzte ich PHP 7.1. Danach 7.2, 7.3 und jetzt 7.4. Da hat sich viel geändert. Und Chrome Lighthouse zeigt mir an, dass ich veraltete JavaScript-Bibliotheken mit Sicherheitslücken nutze (siehe jpg). Ich habe mich im Addons Markt von Prestashop umgeschaut, die meisten neuen Thema sind immer noch auf diesen veralteten JavaScript-Bibliotheken aufgebaut.

Link to comment
Share on other sites

Am besten immer ein child-theme erstellen und hier nur so signifikant wie nötig anpassen, dann ist es später einfacher zu handhaben, oder wie gesagt eben das komplette Theme selber schreiben, dann weißt du wo drauf du achten musst, wenn du es mal updates.

 

Ich hoffe das es mit den Verzeichnisrechten erledigt ist. Kannst ja mal Feedback geben, besten Gruß.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...