Jump to content
Dom27

Webseite und Backend nicht erreichbar - Error 500

Recommended Posts

Liebe Community

Ich konnte bis heute Nachmittag ohne Probleme auf mein Backend zugreifen. Heute Abend als ich die Bestellungen einsehen wollte, erschien ein Error 500.

Konnte mit Hilfe des Blogs diese Fehlermeldung ermitteln, schaffe es aber jetzt nicht, den Fehler zu fixen. Habe keine Programmierkenntnisse!

Fatal error: Uncaught Error: [] operator not supported for strings in /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/db/DbQuery.php:96 Stack trace: #0 /home/httpd/vhosts/lamarmota.ch/httpdocs/Adapter/Adapter_EntityMapper.php(45): DbQueryCore->from('shop', 'a') #1 /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/ObjectModel.php(233): Adapter_EntityMapper->load('1', NULL, Object(Shop), Array, NULL, true) #2 /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/shop/Shop.php(131): ObjectModelCore->__construct('1', NULL, NULL) #3 /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/shop/Shop.php(397): ShopCore->__construct('1') #4 /home/httpd/vhosts/lamarmota.ch/httpdocs/config/config.inc.php(114): ShopCore::initialize() #5 /home/httpd/vhosts/lamarmota.ch/httpdocs/Backoffice/index.php(36): require('/home/httpd/vho...') #6 {main} thrown in /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/db/DbQuery.php on line 96

 

Kann mir jemand behilflich sein? 

Besten Dank, Dom

Share this post


Link to post
Share on other sites

Die Programmierkenntnisse brauchst du aber, wenn du Prestashop mit PHP 7.3 (vielleicht auch nur PHP 7, je nachdem ob du Prestashop 1.7 oder 1.6 nutzst) zum Laufen bringen willst.

Die gute Nachricht ist: dieser Fehler lässt sich leicht beheben. In Zeile 96 der classes/db/DbQuery.php findest du:

 'from'   => '',

Das ändere zu

 'from'   => [],

Dann verschwindet diese Fehlermeldung.

Die schlechte Nachricht ist: Andere werden folgen, denn die mangelnde Kompatibilität mit der PHP-Version deines Servers bleibt bestehen. Oder du schaltest auf eine frühere PHP-Version zurück.

Share this post


Link to post
Share on other sites
7 hours ago, Wuschel said:

Die Programmierkenntnisse brauchst du aber, wenn du Prestashop mit PHP 7.3 (vielleicht auch nur PHP 7, je nachdem ob du Prestashop 1.7 oder 1.6 nutzst) zum Laufen bringen willst.

Die gute Nachricht ist: dieser Fehler lässt sich leicht beheben. In Zeile 96 der classes/db/DbQuery.php findest du:


 'from'   => '',

Das ändere zu


 'from'   => [],

Dann verschwindet diese Fehlermeldung.

Die schlechte Nachricht ist: Andere werden folgen, denn die mangelnde Kompatibilität mit der PHP-Version deines Servers bleibt bestehen. Oder du schaltest auf eine frühere PHP-Version zurück.

Hallo Wuschel

Habe die Änderungen vorgenommen, es ändert jedoch nichts an der Situation, dass ich keinen Zugriff habe.

Habe nun diese Fehlermeldung:

Fatal error: Uncaught Error: Call to undefined function mcrypt_decrypt() in /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/Rijndael.php:68 Stack trace: #0 /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/Cookie.php(284): RijndaelCore->decrypt('OHhAvCmT0HABPqh...') #1 /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/Cookie.php(88): CookieCore->update() #2 /home/httpd/vhosts/lamarmota.ch/httpdocs/config/config.inc.php(176): CookieCore->__construct('ps-s1', '', 1584337009, NULL, false, true) #3 /home/httpd/vhosts/lamarmota.ch/httpdocs/index.php(27): require('/home/httpd/vho...') #4 {main} thrown in /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/Rijndael.php on line 68

Ich arbeite auf Prestashop 1.6.24 und werde ihn demnach nicht auf 1.7 updaten oder mir in Zukunft einen Profi zur Seite stellen oder mich doch intensiv ins Programmieren reinlesen.

 

Share this post


Link to post
Share on other sites

Welche PHP-Version läuft denn (vielleicht hat die dein Provider automatisch umgestellt)?

Share this post


Link to post
Share on other sites

Die Kernaussage von Wuschel war denke ich: Prestashop (nicht mal die letzte 1.7.) ist kompatibel mit PHP 7.3. - wenn du größere Änderungen an den Kern-Prestashop Dateien vermeiden willst, dann geh zurück auf deine vorherige PHP Version (7.1 oder 7.2)

Share this post


Link to post
Share on other sites
3 hours ago, Dom27 said:

Ich arbeite auf Prestashop 1.6.24 und werde ihn demnach nicht auf 1.7 updaten

Das ist auch ein weiser Entschluss. 

null

37 minutes ago, JBW said:

wenn du größere Änderungen an den Kern-Prestashop Dateien vermeiden willst, dann geh zurück auf deine vorherige PHP Version (7.1 oder 7.2)

Ist aber auf Dauer keine Lösung, und manche Provider wie 1&1 ode Strato verlangen dafür schon heute zusätzliche Monatsgebühren. Wenn du für 1.6 volle Kompatibilität erreichen willst, musst du die Anpassungen des früheren Moderators @eleazar einspielen, die aber in diesem Forum gelöscht wurden. Du findest sie nur noch in @Whileys eigenem Forum:

https://ps.multimedia-bodensee.de/index.php/prestashop-tutorials/prestashop-tricks-tipps/item/6-anpassung-prestashop-1-5-6-2-und-1-6-1x-an-php-7-2

Bei 1.6.1.24 bietet sich an, die Dateien erstmal zu vergleichen, denn bei diese Version gibt es zumindest schon mal weitgehende Kompatibilität zumindest zu PHP 7.2, wenn auch keine vollständige. Auch AEUC braucht leichte Anpassungen für PHP 7.2/7.3.

Übrigens sollte 1.6.1.24 bereits die Anpassungen für die Rijndael.php haben. Da hast du wohl noch eine alte Version der Klasse. Oder auf deinem Server ist kein kompatibles OpenSSL aktiviert. Aber das kann ich mir eigentlich nicht denken.

Edited by Wuschel (see edit history)

Share this post


Link to post
Share on other sites
58 minutes ago, rictools said:

Welche PHP-Version läuft denn (vielleicht hat die dein Provider automatisch umgestellt)?

Habe gerade erfahren, dass er auf PHP 7.2 gewechselt hat 

Share this post


Link to post
Share on other sites

Habe ich mir schon gedacht. Dann sollten die Änderungen in der Zip-Datei für 1.6.1.23 (s. Link in meinem vorigen Post zu Whileys Forum) vermutlich ausreichen. Aber schau dir eleazars Bemerkungen zur Rijndael.php auf jeden Fall gründlich an.

Share this post


Link to post
Share on other sites
12 hours ago, Wuschel said:

Habe ich mir schon gedacht. Dann sollten die Änderungen in der Zip-Datei für 1.6.1.23 (s. Link in meinem vorigen Post zu Whileys Forum) vermutlich ausreichen. Aber schau dir eleazars Bemerkungen zur Rijndael.php auf jeden Fall gründlich an.

Tausend Dank für den Link und die Hilfe! Habe mich step by step durchgearbeitet und die Fehlermeldungen wurden weniger. 

Die einzige die bleibt ist diese hier: Fatal error: Class 'CookieCore' not found in /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/Cookie.php on line 3

Folgendes steht in der Zeile 3: class Cookie extends CookieCore

Vielleicht hast du mir hierfür noch einen Tipp?

Edited by Dom27 (see edit history)

Share this post


Link to post
Share on other sites

Entweder

  • du hast keins /classes/Cookie.php oder
  • du solltest mal den Cache löschen, oder
  • Die /cache/class_index.php löschen, oder 
  • irgendein Fremdmodul muss noch angepasst werden.

Ich tippe auf die erste Möglichkeit.

 

Share this post


Link to post
Share on other sites

Hab mir gerade mal die Zip-Datei runtergeladen. Da stimmt was nicht! Du machst jetzt folgendes:

  1. Ersetze die /classes/Cookie.php durch das Original von Prestashop.
  2. Lösche die /cache/class_index.php.
  3. Starte dann den Shop neu.
  4. Falls immer noch eine Fehlermeldung auftaucht, dann lösche die gleichnamige Datei im Ordner /overrides/classes.

Share this post


Link to post
Share on other sites
2 hours ago, Wuschel said:

Hab mir gerade mal die Zip-Datei runtergeladen. Da stimmt was nicht! Du machst jetzt folgendes:

  1. Ersetze die /classes/Cookie.php durch das Original von Prestashop.
  2. Lösche die /cache/class_index.php.
  3. Starte dann den Shop neu.
  4. Falls immer noch eine Fehlermeldung auftaucht, dann lösche die gleichnamige Datei im Ordner /overrides/classes.

Hallo Wuschel

Habe versucht alles nach deinen Vorgaben zu machen und schon kommt eine neue Fehlermeldung und ich weiss mir nicht zu helfen. Ist wohl besser ich lasse dies von jemandem fixen, bevor ich noch weitere Fehler verursache.....

Fatal error: Uncaught Error: Class 'PhpEncryption' not found in /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/Cookie.php:85 Stack trace: #0 /home/httpd/vhosts/lamarmota.ch/httpdocs/config/config.inc.php(176): CookieCore->__construct('ps-s1', '', 1584428852, NULL, false, true) #1 /home/httpd/vhosts/lamarmota.ch/httpdocs/index.php(27): require('/home/httpd/vho...') #2 {main} thrown in /home/httpd/vhosts/lamarmota.ch/httpdocs/classes/Cookie.php on line 85

Share this post


Link to post
Share on other sites

 

14 minutes ago, Dom27 said:

Uncaught Error: Class 'PhpEncryption' not found

 Gibt es auch im Original von Prestashop nicht. Ich vermute, du hast ein Zusatzmodul für Cookies, das möglicherweise ein Override/eine Erweiterung für die Cookie.php mitbringt, die jetzt fehlt. PhpEncryption ist kein Prestashop-Standard. In solchen Fällen ist es das Beste, erst mal alle solche Module zu deaktivieren (manche müssen sogar deinstalliert werden) und dann eins nach dem anderen wieder zu aktivieren, um festzustellen, welches den Fehler verursacht.

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More