Jump to content
Klausen

[PS 1.6.1.10] PHP v.5.5.60 -> v.7.2

Recommended Posts

Mein Provider stellt  demnächst PHP von v.5.5.60 auf v.7.2 um. Gibt es da etwas, was ich für die Prestashop-Version 1.6.1.10  beachten muss?

Gruß Werner Klausen

Share this post


Link to post
Share on other sites

Ja, beides verträgt sich nicht, Du mußt also, wenn dein Provider auch gegen Aufpreis keinen Support für PHP 5.6 oder 7.0 mehr anbietet, den Provider wechseln oder kannst keine 1.6er-Version von Prestashop mehr verwenden.

Share this post


Link to post
Share on other sites

Ansonsten bleibt nur die Möglichkeit, auf 1.6.1.20 aufzurüsten.  Oder bietet der Provider auch PHP 7.1 an? Dann sollte es auch ohne Update funktionieren. 

Wenn du es dir zutraust, kannst du den Bugfix für PHP 7.2 auch selbst in 1.6.1.10 einbauen: https://github.com/PrestaShop/PrestaShop/pull/8724/commits/982a34534345237e8c13abb16d56107a0e0ab1b5

Share this post


Link to post
Share on other sites

Hi Eleazar,

da ich langsam auch die PHP-Versionen <7.1 abschalten will, wäre das mit dem Github-Fix zu machen? Ich meine jetzt natürlich erstmal den Prestacore selbst für meinen 1.6.1.7, was mit den Modulen passiert, ist ja ein anderes Thema, das vermutlich auch an der einen oder anderen Stelle klemmen könnte.

Share this post


Link to post
Share on other sites

Hallo rictools und eleazar,


vielen Dank für eure Antworten. Bedeutet „verträgt sich nicht“, dass gar nichts mehr funktioniert oder dass es Probleme gibt/geben kann?

 

Die Situation von Seiten des Providers sieht wie folgt aus:

PHP Roadmap:

PHP-Version

eingeführt seit

endet zum

geplante Einführung

5.6 (Langzeitversion)

13.10.2015

24.10.2018

 

7.0

13.10.2016

03.12.2018

 

7.1

06.03.2018

4. Quartal 2019

 

7.2

29.08.2018

4. Quartal 2020

 

 

Letztlich läuft es wohl auf jeden Fall auf PHP v.7.2 hinaus.

Würde eine Umstellung auf die Shopversion 1.6.1.20 langfristig ausreichen oder wäre v.1.7.x dann doch gleich besser?

 

Gruß Werner Klausen

Share this post


Link to post
Share on other sites
1 hour ago, eleazar  said:

Ansonsten bleibt nur die Möglichkeit, auf 1.6.1.20 aufzurüsten. ...

Wenn du es dir zutraust, kannst du den Bugfix für PHP 7.2 auch selbst in 1.6.1.10 einbauen: https://github.com/PrestaShop/PrestaShop/pull/8724/commits/982a34534345237e8c13abb16d56107a0e0ab1b5

Ist das wirklich so einfach, funktioniert 1.6.1.10 dann mit PHP 7.2 (und evtl. auch 1.6.1.4?)? In absehbarer Zeit komme ich nämlich auch in die Situation, daß ich für PHP 5.6 einen Aufpreis bezahlen müßte ... Inwieweit sind Probleme mit Modulen bekannt?

Share this post


Link to post
Share on other sites

Gut, ich habe zwar das "Glück" des eigenen Servers, auf dem ich dann entscheiden kann, was da läuft, aber die ausgelaufenen Versionen inkl. 7.0 (das war ohnehin nur aus Kompatibilitätsgründen dazwischengeschoben) werden zunehmend unsicherer, was ja nicht im Sinne des Seitenbetreibers ist. Auch Aufpreise fürs Nichtabschalten bringen da wenig, denn die Security-Patches wird kaum ein Hoster einfach so auf die alten Versionen draufbekommen.

Ich hatte das für den Herbst auf die ToDo-Liste gesetzt, dass der Shop unter 7.2 laufen soll, mal sehen, ob das nur mit diesem Fix funktioniert. Ich werde die Tage mal eine Shopkopie in einem anderen Bereich einrichten, wo ich dann hemmungslos testen kann :D Dann kann das Projekt mal losgehen.

Share this post


Link to post
Share on other sites

Das Frontend hatte ich unter PHP 7.1.x am Laufen, dazu bedurfte es nur einer Änderung in der classes/db/DbQuery.php, da mußte oben nur eine Codezeile modifiziert werden.

'from' => '',

zu

'from' => array(),

dann lief das. Ich habe aber damals an der Stelle dennoch abgebrochen, weil im Backend die Statistiken und die aktuellen Bestellungen nicht mehr sichtbar waren. Die Bestellungen kann man zwar aufrufen, aber die Statistiken im Dashboard laufen nicht, hier hilft dann folgendes:

in der /classes/hook.php ca. in Zeile 465

$output = '';

ersetzen durch

if ($array_return) {
$output = array();
} else {
$output = '';

}

dann noch in /classes/helper/HelperOptions.php ca. Zeile 105

if ($field['type'] == 'texarea' || $field['type'] == 'textareaLang') {

ersetzen durch

if ($field['type'] == 'textarea' || $field['type'] == 'textareaLang') {

Bei mir war das alles und der Presta läuft nun mit php 7.1, Fehler konnte ich bis jetzt keine finden, ich werde es jetzt mal ein paar Tage testen und wenn das läuft, gehen wir mal den Fix auf die 7.2 an, dann sollte das Thema erstmal vom Tisch sein.

 

php71presta.JPG

Edited by Claudiocool (see edit history)

Share this post


Link to post
Share on other sites
vor 4 Stunden schrieb rictools:

Ist das wirklich so einfach, funktioniert 1.6.1.10 dann mit PHP 7.2 (und evtl. auch 1.6.1.4?)? In absehbarer Zeit komme ich nämlich auch in die Situation, daß ich für PHP 5.6 einen Aufpreis bezahlen müßte ... Inwieweit sind Probleme mit Modulen bekannt?

Ich habe vorhin mal die Änderungen für 7.1.21 meines 1.6.1.7 eingebaut, 2 Stunden rumgetestet, mir fiel jetzt nichts negatives auf. Danach habe ich dann den "scharfen" Shop gesichert und die Änderungen auch da eingebaut, es läuft problemlos (s.a. meinen letzten Beitrag hier).

Bei den Modulen scheint es unkritisch zu sein, da die Änderungen wohl nur den Core in den Classes betreffen und die Module dort eher nur andocken, zumindest bei den hier laufenden Modulen stelle ich keine Fehler fest. Ich lasse das jetzt erst mal laufen, danach werde ich mir mal die 7.2. Fixes vornehmen, allerdings frühestens in 2-3 Wochen, da ich hinterher nicht bei Null stehen will, wenn was nicht läuft und ich könnte es dann nicht den Änderungen zuordnen und da dann suchen.

Share this post


Link to post
Share on other sites
Am 9.9.2018 um 10:59 PM schrieb Claudiocool:

dann noch in /classes/helper/HelperOptions.php ca. Zeile 105

if ($field['type'] == 'texarea' || $field['type'] == 'textareaLang') {

ersetzen durch

if ($field['type'] == 'textarea' || $field['type'] == 'textareaLang') {

 

Danke Claudiocool habe deine Anleitung ausprobiert und es hat geklappt.

Nur noch eine Frage zu HelperOptions.php

Die beiden Linien di du oben erwähnst sind beide genau gleich, was soll ich da genau ändern?

Besten Dank für deine Hilfe Giuseppe

 

 

Share this post


Link to post
Share on other sites

Besten Dank

Ich habe einen Shop mit 1.6.1.6 und habe den fix angewendet. Auf PHP 7.1 läuft alles soweit auf PHP 7.2 läuft frontend aber kein Zugang zu Admin-Bereich. KOmmt leere Seite hast du ev. eine Idee.

Bin Froh um jede Hilfe

Vielen Dank

Share this post


Link to post
Share on other sites

Ideen schon, da müssen in diversen Admin-Controllers ein paar Änderungen durchgeführt werden.
Es geht um die

public function viewAccess ()

Die leere Klammer () muss in (disable = false) geändert werden, So ist beim GitHub der Lösungsansatz, allerdings bin ich noch nicht ganz durch, an welcher Stelle das ansetzt, um nachzuvollziehen, warum die Deklaration an der Stelle geändert werden musste. Funktionieren sollte es, aber irgendwo scheint mir das etwas dirty zu sein, weil leere Klammerausdrücke eigentlich in der Laufzeit Werte bekommen sollten und nicht vorher schon statisch gefüllt sein sollten. Das ist auch der Grund, warum ich das erst angehen werde, wenn ich auch die Zeit dafür habe, weil ich das schon auch verstehen will ;)

 

Share this post


Link to post
Share on other sites

Es soll wohl sogar möglich sein, auch Prestashop 1.5 an PHP 7x anzupassen, aber da tüftle ich noch.

Längst nicht alle Provider schalten aber PHP 5.6 zum 31.12. gleich ab. Bei mindestens einem der großen (Hetzner) wird sogar aus Kompatibilitätsgründen noch PHP 5.4 weiter unterstützt, wie ich letzte Woche erfahren habe. Also keine Panik!

Share this post


Link to post
Share on other sites
vor einer Stunde schrieb GiuMig:

Besten Dank

Ich habe einen Shop mit 1.6.1.6 und habe den fix angewendet. Auf PHP 7.1 läuft alles soweit auf PHP 7.2 läuft frontend aber kein Zugang zu Admin-Bereich. KOmmt leere Seite hast du ev. eine Idee.

Bin Froh um jede Hilfe

Vielen Dank

Du kannst mal dieses hier testen und berichten, da ist der PHP7.2-Fix drin. Ich habe gesehen, dass die Ausdrücke in anderen Scripten teilweise  mit dem disable = false gefüllt sind, es sollte zumindest so funktionieren, dass der Shop läuft, aber wie gesagt, es kann einerseits sein, dass PHP das "fordert" und es dann eben was drin haben muss, andererseits könnte es sein, dass die Variable irgendwo unterwegs "verhungert" und es nur bei den alten PHP noch keine Rolle spielte.

Share this post


Link to post
Share on other sites
vor 1 Minute schrieb eleazar :

Es soll wohl sogar möglich sein, auch Prestashop 1.5 an PHP 7x anzupassen, aber da tüftle ich noch.

Längst nicht alle Provider schalten aber PHP 5.6 zum 31.12. gleich ab. Bei mindestens einem der großen (Hetzner) wird sogar aus Kompatibilitätsgründen noch PHP 5.4 weiter unterstützt, wie ich letzte Woche erfahren habe. Also keine Panik!

Hier bei mir auf dem Server hätte ich das auch noch laufen lassen können, aber es kommen healt keinerlei Security-Patches mehr, da geht bei Versionen <7.x mittlerweile so gut wie nichts mehr. 7.0 war jetzt absolut kein Act, das lief sofort, aber bei den höheren Versionen hat es eben einige Stolpersteine drin. ;)

Ich habe den 1.6.1.7 mittlerweile scharf am Laufen, der zeigt keinerlei Auffälligkeiten, wenn das bis Ende der Woche so bleibt, werde ich den Milestone mal als abgeschlossen ansehen.

Share this post


Link to post
Share on other sites
Am 9.9.2018 um 10:59 PM schrieb Claudiocool:

in der /classes/hook.php ca. in Zeile 465

$output = '';

ersetzen durch

if ($array_return) {
$output = array();
} else {
$output = '';

}

dann noch in /classes/helper/HelperOptions.php ca. Zeile 105

if ($field['type'] == 'texarea' || $field['type'] == 'textareaLang') {

ersetzen durch

if ($field['type'] == 'textarea' || $field['type'] == 'textareaLang') {

 

Lol, zurück in die Zukunft! In PrestaShop 1.5.6 war das noch so wie in deiner Änderung,

Eine Anpassung fehlt aber noch, und zwar in der

classes/AdminTab.php und der classes/controller/AdminController.php müssen alle Stellen, die eine bestimmte Eigenschaft validieren, wie folgt umcodiert werden. Also nicht überall, wo die Klasse Validate genutzt wird, sondern nur in Ausdrücken wie den folgenden! Statt

Validate::$values['IrgendeineEigenschaft']

oder

Validate::$field['IrgendeineEigenschaft']

muss man für eine korrekte Auflösung des Ausdrucks  zusätzliche geschweifte Klammern einfügen:

Validate::{$values['IrgendeineEigenschaft']}

Andernfalls erhält man die Fehlermeldung:

Fatal error:  Uncaught Error: Access to undeclared static property ....

Mit den genannten Änderungen läuft dann sogar PrestaShop 1.5.6x unter PHP 7, zumindest schon mal unter  7.0. Da lässt es sich sogar ganz normal installieren, was zumindest für 1.5 unter  7.1 und 7.2 nicht zu gehen scheint (jedenfalls nicht bei meinem Test unter Xampp).

Da immer noch viel Shops mit 1.5 laufen, wäre das vermutlich eine brauchbare Alternative zum Upgrade von PrestaShop, denn solange PHP bei Version 7 bleibt, dürften für alle 7er Versionen auch Sicherheitsupdates bereit gestellt werden.

Share this post


Link to post
Share on other sites

Unter 7.1.x läuft der Shop 1.6.1.7 mit den beiden originalen Dateien ohne Fehlermeldung. Die textarea-Geschichte kommt mir hingegen eher wie ein Tippfehler vor... :)

Share this post


Link to post
Share on other sites

Nö... aber wenn du mir sagst, wo genau ich es versuchen soll, teste ich es. Ich habe gerade in den Mailsettings gespielt, läuft...

Share this post


Link to post
Share on other sites

Dann scheint das wirklich von Prestashop-Version/PHP-Version zu Prestashop-Version/PHP-Version unterschiedlich zu sein.

Share this post


Link to post
Share on other sites

Kann einfach auch mit der Server- und der PHP-Konfiguration zusammenhängen, da gibt es ja auch sehr viel, was man da so einstellen kann.

Share this post


Link to post
Share on other sites

So, nach nun gut 2 Wochen ohne Auffälligkeiten mit PHP 7.1.21 darf ich das Projekt "1.6.1.x mit 7.1.x" als abgeschlossen betrachten. Es kommen keinerlei Fehlermeldungen in den Logs, die auf Probleme mit der Konstellation schließen ließen. Alle Funktionen im Shop sind okay, auch DB-Zugriffe und ähnliches laufen einwandfrei.

Leider muss ich das mit 7.2. jetzt vertagen, weil der Shop hier gerade eine Grundlast von 50 Usern hat, selbst nachts (da dann vermutlich von dort, wo gerade die Sonne scheint) geht die nicht merklich runter. Klar, wir haben Dinge, die jetzt in der Reifenwechselsaison benötigt werden, da möchte ich den Shop jetzt auch ungern vom Netz nehmen, auch, weil ständig gefüllte Carts am Start sind. Dummerweise habe ich den anderen Server, auf dem die Tests liefen, zum Monatsende abgegeben, so dass ich da jetzt keine Tests laufen lassen kann.

Falls natürlich jemand seinen 1.6. auf denselben Stand gebracht hat und die 7.2.-Änderungen mal getestet hat, würde ich mich auch interessieren, ob es da dann läuft.

Share this post


Link to post
Share on other sites

Ich hab gestern als es ruhiger wurde, mal ein wenig experimentiert, allerdings mit sehr mäßigem Erfolg. Ohne aktives Error-Reporting wird das eher nichts. Also muss das jetzt leider warten, es sei denn, da sind weitere Interessierte, die das Projekt weiter vorantreiben wollen.

Mit Error-Reporting (oder wahlweise live-Logs auf dem Server) sollte das machbar sein.

Share this post


Link to post
Share on other sites

Ich bin krankheitsbedingt leider einige Zeit ausgefallen, melde mich jetzt aber wieder zurück.

Bei mir hat die Umstellung von PHP 5.6 auf PHP 7.1 leider nicht funktioniert; ich komme weder auf der Shop-, noch  auf die Login-Seite, in beiden Fällen erscheint "HTTP Error 500".

Der Logfile zu PHP 7.1 sieht wie folgt aus:

[Wed Oct 03 13:16:31 2018] [php7:error] [pid 1454] [client 92.192.37.63] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/admin_sh0p/index.php(36): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 13:17:02 2018] [php7:error] [pid 1681] [client 40.77.188.170] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 13:18:09 2018] [php7:error] [pid 1742] [client 40.77.189.103] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 13:18:44 2018] [php7:error] [pid 2331] [client 40.77.195.44] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 13:20:56 2018] [php7:error] [pid 4019] [client 40.77.167.198] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 13:20:56 2018] [php7:error] [pid 4020] [client 40.77.167.198] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 13:21:00 2018] [php7:error] [pid 4021] [client 40.77.167.207] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 13:21:06 2018] [php7:error] [pid 4026] [client 40.77.167.218] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 13:21:06 2018] [php7:error] [pid 4027] [client 40.77.167.218] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 13:21:10 2018] [php7:error] [pid 4028] [client 40.77.167.188] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96

Da wird mir ein wenig schwindlig, zumal ich die Anleitungen genauestens befolgt habe, auch was auf github beschrieben ist.

Die Adapter_EntityMapper.php sieht zwischen Zeile 39 - 46 so aus:

  public function load($id, $id_lang, $entity, $entity_defs, $id_shop, $should_cache_objects)
    {
        // Load object from database if object id is present
        $cache_id = 'objectmodel_' . $entity_defs['classname'] . '_' . (int)$id . '_' . (int)$id_shop . '_' . (int)$id_lang;
        if (!$should_cache_objects || !Cache::isStored($cache_id)) {
            $sql = new DbQuery();
            $sql->from($entity_defs['table'], 'a');
            $sql->where('a.`' . bqSQL($entity_defs['primary']) . '` = ' . (int)$id);

Die Shop.php zwischen Zeile 397 - 404:

$shop = new Shop($id_shop);
            if (!Validate::isLoadedObject($shop) || !$shop->active) {
                // No shop found ... too bad, let's redirect to default shop
                $default_shop = new Shop(Configuration::get('PS_SHOP_DEFAULT'));

                // Hmm there is something really bad in your Prestashop !
                if (!Validate::isLoadedObject($default_shop)) {
                    throw new PrestaShopException('Shop not found');

Die config.inc zwischen Zeile 113 - 118:

  public function load($id, $id_lang, $entity, $entity_defs, $id_shop, $should_cache_objects)
    {
        // Load object from database if object id is present
        $cache_id = 'objectmodel_' . $entity_defs['classname'] . '_' . (int)$id . '_' . (int)$id_shop . '_' . (int)$id_lang;
        if (!$should_cache_objects || !Cache::isStored($cache_id)) {
            $sql = new DbQuery();
            $sql->from($entity_defs['table'], 'a');
            $sql->where('a.`' . bqSQL($entity_defs['primary']) . '` = ' . (int)$id);

und die DbQuery.php zwischen Zeile 93 - 100:

public function from($table, $alias = null)
    {
        if (!empty($table)) {
            $this->query['from'][] = '`'._DB_PREFIX_.$table.'`'.($alias ? ' '.$alias : '');
        }

        return $this;
    }

Dort habe ich wie beschrieben die Zeile 43 von 'from' => '', zu 'from' => array(), geändert.
Leider bin ich ein absoluter PHP-Dau und weiß nun nicht, was ich tun soll :-(

Gruß & frustriert Werner Klausen

Share this post


Link to post
Share on other sites

Sieht bei mir alles auch so aus bis auf die config.inc.php.... die scheint bei dir irgendwas anderes zu sein, aber nicht die, dieselbe, die im 1.6.1.7 dabei ist. Ich glaube aber nicht, dass diese so viel anders wäre.

Share this post


Link to post
Share on other sites
vor 41 Minuten schrieb Claudiocool:

Sieht bei mir alles auch so aus bis auf die config.inc.php

 

Verständlicherweise, denn die Funktion load gehört ja auch, wie weiter oben im selben Post steht, in die \Adapter\Adapter_EntityMapper.php :)

Da die Config.inc.php keine Klasse ist, enthält sie ergo auch keine Funktionen, sondern nur Definitionen. Hier ist also wohl einiges durcheinander geraten - hoffentlich nur im Post. Denn in Zeile 113-118 wird er Shop initialisiert. Da muss m.W. auch nichts geändert werden.

Share this post


Link to post
Share on other sites
vor 2 Stunden schrieb Klausen:

Dort habe ich wie beschrieben die Zeile 43 von 'from' => '', zu 'from' => array(), geändert.

 

Nur mal interessehalber: Was meinst du mit "Dort"? Auf welche Datei beziehst du dich?

Share this post


Link to post
Share on other sites

Auf das Posting von Claudiocool vom 09.09.18:

Das Frontend hatte ich unter PHP 7.1.x am Laufen, dazu bedurfte es nur einer Änderung in der classes/db/DbQuery.php, da mußte oben nur eine Codezeile modifiziert werden.

'from' => '',
zu

'from' => array(),
 

Ich habe jetzt hook.php jetzt wieder auf den Originalzustand zurück versetzt und nun gibt es wieder eine Shopoberfläche und komme auch wieder ins Adminmenü. Allerdings wirft der Logfile immer noch diese Fehler aus:

[Wed Oct 03 16:52:38 2018] [php7:error] [pid 1840] [client 85.93.88.91] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 16:53:06 2018] [php7:error] [pid 1969] [client 62.138.0.25] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 16:53:06 2018] [php7:error] [pid 1970] [client 62.138.0.25] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 16:53:18 2018] [php7:error] [pid 1978] [client 207.46.13.143] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 16:53:24 2018] [php7:error] [pid 1981] [client 85.25.210.234] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 16:53:24 2018] [php7:error] [pid 1982] [client 85.25.210.234] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 16:53:26 2018] [php7:error] [pid 1984] [client 85.93.88.91] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 16:53:26 2018] [php7:error] [pid 1985] [client 85.93.88.91] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 16:53:53 2018] [php7:error] [pid 2053] [client 85.25.210.41] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96
[Wed Oct 03 16:53:53 2018] [php7:error] [pid 2054] [client 85.25.210.41] [host xxx.de] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php:96\nStack trace:\n#0 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php(45): DbQueryCore-]from('shop', 'a')\n#1 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/ObjectModel.php(233): Adapter_EntityMapper-]load('1', NULL, Object(Shop), Array, NULL, true)\n#2 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(131): ObjectModelCore-]__construct('1', NULL, NULL)\n#3 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/shop/Shop.php(397): ShopCore-]__construct('1')\n#4 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/config/config.inc.php(114): ShopCore::initialize()\n#5 /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/index.php(27): require('/is/htdocs/wp11...')\n#6 {main}\n  thrown in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/classes/db/DbQuery.php on line 96

Gruß Werner Klausen

 

edit: die Statistiken im Backend fehlen jetzt natürlich.

Edited by Klausen (see edit history)

Share this post


Link to post
Share on other sites

Noch ein Nachtrag.
In der /classes/hook.php, Zeile 465 habe ich

$output = '';

nur durch

$output = array();

ersetzen.
Jetzt werden auchn wieder die Statistiken angezeigt.

Gruß Werner Klausen

Share this post


Link to post
Share on other sites
vor 54 Minuten schrieb eleazar :

Da die Config.inc.php keine Klasse ist, enthält sie ergo auch keine Funktionen, sondern nur Definitionen. Hier ist also wohl einiges durcheinander geraten - hoffentlich nur im Post. Denn in Zeile 113-118 wird er Shop initialisiert. Da muss m.W. auch nichts geändert werden.

Ich habe mir die originale config.inc.php noch einmal angeschaut, wie sie in der PS 1.6.1.10 mit ausgeliefert wurde. Diese sieht meines Erachtens genauso aus wie meine (Zeile 113 - 118):

try {
    $context->shop = Shop::initialize();
    $context->theme = new Theme((int)$context->shop->id_theme);
    if ((Tools::isEmpty($theme_name = $context->shop->getTheme()) || !Validate::isLoadedObject($context->theme)) && !defined('_PS_ADMIN_DIR_')) {
        throw new PrestaShopException(Tools::displayError('Current theme unselected. Please check your theme configuration.'));
    }

Gruß Werner Klausen

Share this post


Link to post
Share on other sites

Hab ich mir schon gedacht. Dann hättest du das aber weiter oben besser auch so posten sollen, um Missverständnisse zu vermeiden.

Share this post


Link to post
Share on other sites

Leider läuft bei mir die Umstellung auf PHP 7 doch noch nicht rund.

Owohl ich die Änderungen in den PHP-Dateien wie beschrieben vorgenommen habe, steht unter PHP 7.1 an verschiedenen Stellen „array“, z.B. hier:

array.jpg.cafc7bcfba60d02b5d89b66f77d1aa62.jpg

Als PHP-Unerfahrener weiß ich jetzt nicht, in welcher Datei und an welcher Stelle ich suchen muss. Wahrscheinlich fehlt irgendwo ein Semikolon hinter „array“, welches ich aber nicht finde.

Gleichzeitig habe ich das Problem, dass ich nun erst einmal wieder auf PHP 5.6 zurück gestellt und die geänderten PHP-Dateien gegen die alten ausgetauscht habe, nun sich aber weder Shop noch Backend-Login aufrufen lassen. Auch nach dem Rückübertragen des Ordners „classes“ aus einer Sicherung, die unter PHP 5.6 lauffähig war bleibt das Problem HTTP ERROR 500 bestehen.

Gruß Werner Klausen

 

Ergänzung:

Zugiff auf Ordner, in dem der Shop liegt, besteht wohl. Ich habe eine version.php dort im Hauptverzeichnis hochgeladen und die zeigt die eingestellt PHP-Version korrekt an.

Current PHP version: 5.6.38-he.0

 

Edited by Klausen
Ergänzung (see edit history)

Share this post


Link to post
Share on other sites

Warum stellst du auf 5.6 zurück und versuchst nicht erst einmal 1.7.0, das soll doch ohne Änderungen funktionieren und ist im Zweifel näher an 1.7.1?

Ansonsten würde ich zunächst Caches löschen und Error Reporting aktivieren.

Share this post


Link to post
Share on other sites

Natürlich kann ich auf der PHP-Version 7.1 oder 7.0 (ist für 12.2018 abgekündigt) weiterarbeiten. Ich kann meinem Kunden auch erklären, dass das „Array“, das an verschiedenen Stellen im Shop jetzt auftaucht, eine Shop-Feature ist, das einfach dazu gehört. Aber darum geht es nicht.
Auch wenn PHP nicht meine Welt ist, versuche ich doch die Fehler zu verstehen und aus den Fehlern zu lernen. Fehler zu umschiffen ist sicherlich oft der einfachere Weg, löst aber die eigentlichen Probleme nicht.

Mit Hilfe des Logfiles bin ich der Sache etwas näher gekommen. Dort wird für die PHP 5.6 folgender Fehler aufgeführt:

PHP Fatal error:  Class 'DbQuery' not found in /is/htdocs/wp1131087_P0JXD1MK8I/www/shop/Adapter/Adapter_EntityMapper.php on line 44

Die besagte Zeile 44 in der Adapter_EntityMapper.php sieht wie folgt aus:

$sql = new DbQuery();

und entspricht der Originaldatei. Zudem ist nach dem Datumstempel die Datei mit der Änderung von PHP 5.6 auf PHP 7.1 nicht geändert worden. Das letzte Änderungsdatum liegt 2 Monate zurück.
„new DbQuery“ verweist aber wahrscheinlich auf die DBQuery.php und dort auf die die - wie in der Anleitung beschrieben - für PHP 5.6 gültige Zeile 42

'from'   => '',

für PHP 7.1 gültig zu ändern in:

'from'   => array(),

Was genau die Adapter_EntityMapper.php bewirkt ist mir nicht klar, aus der Definition bei github:
https://github.com/Shagshag/prestashop-documentation/blob/master/1.6.1.3/class.Adapter_EntityMapper.md
werde ich nicht schlau. Da an dieser Datei aber keine Änderung vorgenommen wurde, scheint das eigentliche Problem an anderer Stelle zu liegen. Ich versuche also weiterhin eine Lösung für die Nicht-Aufrufbarkeit des Shop nach der Rückstellung von PHP 7.1 auf PHP 5.6 zu finden.

Gruß Werner Klausen

Share this post


Link to post
Share on other sites

Es gibt eine neue Entwicklung, was die Nicht-Aufrufbarkeit des Shops nach der Rückstellung von PHP 7.1 auf PHP 5.6 anbetrifft. Ich hatte den Provider wegen die Problematik hinsichtlich der Fehlermeldung in Zeile 42 der Adapter_EntityMapper.php angeschrieben. Vom Support kam nun folgende Antwort:
„Wir können den Fehler aktuell nicht mehr feststellen, wir gehen daher davon aus, dass sich das Problem erledigt hat.“
In der Tat funktioniert der Shop jetzt „überraschender Weise“ wieder, obwohl ich nichts daran verändert habe, weder an der Adapter_EntityMapper.php, noch an an einer anderen Datei. Der Logfile zeigt allerdings zwischen 8:30 und 10:35 Uhr Aktivitäten unter PHP 5.6 an, die nicht von mir stammen.

Kopfschüttelnd, Werner Klausen

Share this post


Link to post
Share on other sites

Ich muss den Thread leider noch einmal aufwärmen.
Die Umstellung von PHP 5.6 auf PHP 7.1 hat danke den obenstehenden Anleitungen nun geklappt, alle Funktionen laufen, bis auf eine: es wird im Backend in der Übersicht zwar ein Graph angezeigt, aber der verharrt auf der Null-Linie, egal wieviel Umsätze getätigt wurden.
Die Änderung in /classes/hook.php habe ich durchgeführt, zeigt aber keinerlei Wirkung. Habe ich noch etwas übersehen, bzw. gibt es noch eine andere Stelle, an der nachjustiert werden muss?

Gruß, Werner Klausen

Share this post


Link to post
Share on other sites

Da musst irgendetwas übersehen haben. Leider weiß ich auch nicht genau,  was. Ich habe es gerade mal getestet: die graphische Anzeige der Umsätze klappt sogar mit Prestashop 1.5 unter PHP 7.2 einwandfrei!

Du solltest auch mal prüfen, ob alle CMS-Seiten korrekt a gezeigt werden. PHP 7.2 toleriert nämlich h wesentlich weniger als 7.1.

Share this post


Link to post
Share on other sites

Hallo eleazar,

ich bin einigermaßen erstaunt, denn nachdem ich den Shop in den Demo-Modus versetzt habe,werden nun alle Graphen richtig angezeigt!

Gruß Werner Klausen

non-demo.jpg

demo.jpg

Share this post


Link to post
Share on other sites

Das hat aber nichts zu besagen, weil sich Prestashop die Demodaten auf anderem Wege beschafft. Ist das denn nur auf deinem Tablet so oder auch auf dem Desktop des PCs?

Share this post


Link to post
Share on other sites

Versuch doch mal das für die graphische Darstellung verantwortliche Modul Dashtrends mal zu regenerieren. Es gibt verschiedene Versionen davon, manche laufen korrekt, manche nicht. Die von 1.7.4.4 z.B. scheint den gleichen Fehler zu haben. Zumindest wird darüber geklagt. Andererseits scheinst du ja nicht der einzige zu sein, der Prestashop 1.6.1.10 und PHP 7.2 nutzt. 

Share this post


Link to post
Share on other sites

Sodele, nachdem ich mal die rijndael.php umgebaut habe (bei Github gefunden) läuft PHP 7.2 ohne Absturz, aber es kommen hier noch Fehlermeldungen bei eingeschaltetem Fehlerreporting. Mit ausgeschaltetem Reporting scheint der Shop an sich zu laufen.

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Crypt_RSA has a deprecated constructor in .../modules/googleshopping/lib/phpseclib/Crypt/RSA.php on line 280

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Crypt_Hash has a deprecated constructor in.../modules/googleshopping/lib/phpseclib/Crypt/Hash.php on line 82

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Math_BigInteger has a deprecated constructor in .../modules/googleshopping/lib/phpseclib/Math/BigInteger.php on line 176

dazu scheint auch Smarty nicht so ganz kompatibel damit zu sein, auch da werden Fehler/Warnmeldungen ausgegeben

Share this post


Link to post
Share on other sites

Hallo Claudio,

das hört sich doch schon mal sehr gut an. Habe es eben geschafft, meinen sehr individuellen Shop mit noch PS 1.6.1.1 auf PHP 7.1 zum laufen zu bringen. PHP 7.2 wäre natürlich toll, dann hätte ich noch 2 Jahre Luft um alles auf PS 1.7 oder dann sogar PS 1.8 umzustellen. Werde ich demnächst testen.

Share this post


Link to post
Share on other sites

Hallo adversor,

funktioniert bei dir nach der Umstellung auch das Modul „Dashboard Trends“ und wird dort die grafischen Darstellung korrekt angezeigt? Ich habe es mit der Umstellung auf  PHP 7.1 bisher nicht hinbekommen und nun das Modul deaktivieren müssen.

Gruß Werner Klausen

Share this post


Link to post
Share on other sites

Hallo Werner,

das kann ich dir gar nicht sagen, ich habe die ganzen - für mich - unnötigen Module zweckt Performence nicht installiert bzw. gelöscht.

Gruß Rainer

Share this post


Link to post
Share on other sites

Habe es eben in einer lokalen Installation ausprobiert. Das Modul Dashboard Trends wieder installiert und einen Kauf getätigt.Wir nicht angezeigt, sieht wie deine erste Grafik aus. Funktioniert also bei mir auch nicht.

Share this post


Link to post
Share on other sites

Hallo adversor,

vielen Dank für deine Mühe ... dan liegt es also nicht an mir 🙂

Gruß Werner Klausen

Share this post


Link to post
Share on other sites
Posted (edited)

Die Statistiken sollten so zum Laufen zu kriegen sein (siehe dazu meinen Beitrag hier vom 9. September):

in der /classes/hook.php ca. in Zeile 465

$output = '';

ersetzen durch

if ($array_return) {
$output = array();
} else {
$output = '';

}

dann noch in /classes/helper/HelperOptions.php ca. Zeile 105

if ($field['type'] == 'texarea' || $field['type'] == 'textareaLang') {

ersetzen durch

if ($field['type'] == 'textarea' || $field['type'] == 'textareaLang') {

Edited by Claudiocool (see edit history)

Share this post


Link to post
Share on other sites

Wie man an Whiley Demoshop sehen kann, funktioniert das Dashboard korrekt unter PHP 7.2, wenn man alle Fixes eingepflegt hat.

Share this post


Link to post
Share on other sites
vor 3 Stunden schrieb Claudiocool:

und das Error Reporting läuft mit ohne was auszuspucken?

Es waren einige "warnings", vorwiegend "counts". die meisten habe ich weg, ein paar fehlen moch, das ist aber kein  prinzipielles Problem, eher eine Fleißaufgabe! Es gibt auch noch zwei Fehlermeldungen, die aber unbedeutend sind. Alles nur eine Frage der Zeit.

Share this post


Link to post
Share on other sites
Posted (edited)

Ein paar davon habe ich auch noch, prinzipiell läuft der Shop mit 7.2, zumindest im Frontend läuft er nach der Anpassung der Rijndael.php soweit ich sehe, ohne Hänger, im BO sieht es da noch ein wenig anders aus, da kommen ein paar rosarote Popups mit einigen Fehlermeldungen, wenn das Error-Reporting an ist.

Mit deaktiviertem Error-Reporting läuft der aber zumindest ohne irgendwelche Probleme, zumindest keine offensichtlichen.

BTW: Was mach dein Demoshop mit mehr als einer Sprache? Im Moment ist ja nur Deutsch drin.

Edited by Claudiocool (see edit history)

Share this post


Link to post
Share on other sites

Hallo Caudiocool,

genauso habe ich es gemacht:
hook_php.jpg.59f7b8874b58da6b1204bfd67ae8bddc.jpg

helperoptions_php.jpg.cb82c7a5c2c0633f6d6688e8a5bac98e.jpg

aber das Modul DashboardTrends bleibt leer:
dashboardtrends.thumb.jpg.1f24e52670730da16f4cbd38e4692382.jpg

Der Error-Log gibt Folgendes aus:

[Mon Jan 07 08:00:15 2019] [php7:error] [pid 2837] [client xx.xxx.xx.xxx] [host www.xxx.de] script '/is/htdocs/wpxxxxxx_P0JXD1MK8I/www/wp-login.php' not found or unable to stat

Gruß Werner Klausen

Share this post


Link to post
Share on other sites
vor 8 Stunden schrieb Claudiocool:

BTW: Was mach dein Demoshop mit mehr als einer Sprache? Im Moment ist ja nur Deutsch drin. 

Hallo Claudio, ich bin grad nicht so im Thema drin, was ist denn das Problem bei Mehrsprachigkeit? Ich habe gerade mal im Demoshop noch eine 2. Sprache installiert.

http://quintilius-varus.de

Die Fehlermeldungen im BO habe ich inzwischen alle draussen, das betraf die smarty_internal_compilebase.php und die AdminController.php

Grüsse
Whiley

Share this post


Link to post
Share on other sites
vor 36 Minuten schrieb adversor:

hattet ihr bei euren PHP 7.2 Versuchen auch diese Änderungen eingepflegt?

https://github.com/PrestaShop/PrestaShop/commit/51133ddb1d78b10b6819b168d3badea11520b93f

Rainer, vielen Dank für die Infos.

wenn man als Ausgangsbasis die 1.6.1.23 nimmt ist schon ein Teil der Probleme gefixt.

Ich habe mir einfach die Fehlermeldungen angeschaut und die entsprechenden Stellen dann so korrigiert daß sie mit php 7.2 verträglich sein müßten.

Es waren im Grunde immer die gleichen Fehler (array:count). Im FE sind noch ein paar warnings, ich werde das mal mit den Fixes in deinem Link abgleichen.

Neben dem eigentlichen Core könnten natürlich noch einige der Module Probleme bereiten, " Paypal Ratenzahlung " war so ein Fall.

Grüsse
Whiley

Share this post


Link to post
Share on other sites
vor 6 Stunden schrieb Klausen:

Hallo Caudiocool,

 

genauso habe ich es gemacht:
hook_php.jpg.59f7b8874b58da6b1204bfd67ae8bddc.jpg

helperoptions_php.jpg.cb82c7a5c2c0633f6d6688e8a5bac98e.jpg

aber das Modul DashboardTrends bleibt leer:
dashboardtrends.thumb.jpg.1f24e52670730da16f4cbd38e4692382.jpg

Der Error-Log gibt Folgendes aus:

 


[Mon Jan 07 08:00:15 2019] [php7:error] [pid 2837] [client xx.xxx.xx.xxx] [host www.xxx.de] script '/is/htdocs/wpxxxxxx_P0JXD1MK8I/www/wp-login.php' not found or unable to stat

Gruß Werner Klausen

Was will der mit der wp-login.php? Auf die Datei bezieht sich die Fehlermeldung

Share this post


Link to post
Share on other sites
vor einer Stunde schrieb Whiley:

Hallo Claudio, ich bin grad nicht so im Thema drin, was ist denn das Problem bei Mehrsprachigkeit? Ich habe gerade mal im Demoshop noch eine 2. Sprache installiert.

http://quintilius-varus.de

Die Fehlermeldungen im BO habe ich inzwischen alle draussen, das betraf die smarty_internal_compilebase.php und die AdminController.php

Grüsse
Whiley

Naja, weil ich es nicht wegbekomme, dass Smarty und AEUC zusammenarbeiten :)

Bei den vielen Versionen, die teilweise nicht so einfach auf neuere Versionen upgedatet werden können, wäre es vielleicht an der Zeit, mal die ganzen Änderungen zum Thema PHP 7.2 in einem Workaround zusammenzufassen, in dem man dann auch z.B. vermerken könnte, mit welcher Prestaversion das dann schon per default drin war, so könnte dann jeder in seinem Shopsystem selbst die Sachen einpflegen, ohne sich bei Github totzusuchen. Dummerweise ist es dort ja auch so, dass die älteren Versionen hier nicht unbedingt einen Fix veröffentlicht bekamen, weil der Änderer mit denen nix am Hut hat, aber eventuell hier mal den einen oder anderen Codeschnipsel in den Raum geworfen hat.

Share this post


Link to post
Share on other sites
vor 30 Minuten schrieb Claudiocool:

Was will der mit der wp-login.php? Auf die Datei bezieht sich die Fehlermeldung

Das ist das einzige, was ich in den Error-Logs gefunden habe. Wenn es nicht zum Thema passt bitte ich um Entschuldigung.

Gruß Werner Klausen

Share this post


Link to post
Share on other sites

Das ist ja der Adminzugang für Wordpress, der hat damit nichts zu tun.

Bei deinem Problemchen dürfte irgendwo noch ein kleiner Bug drin sein. Unter 7.1.x kriegst du die Stats zu sehen?

Share this post


Link to post
Share on other sites

Jetzt verstehe ich die Verwirrung: der Provider stellt „wp“ davor, weil das Webhosting-Produkt bei ihm „WebPack“ heißt, Servername und entsprechend die Server-Pfade beginnen dort alle mit „wp“, ebenso die Mail-Konten. Dass „wp“ auch die Abkürzung für Wordpress ist wußte ich nicht.

Gruß Werner Klausen

Share this post


Link to post
Share on other sites
vor 8 Minuten schrieb Klausen:

Jetzt verstehe ich die Verwirrung: der Provider stellt „wp“ davor, weil das Webhosting-Produkt bei ihm „WebPack“ heißt, Servername und entsprechend die Server-Pfade beginnen dort alle mit „wp“, ebenso die Mail-Konten. Dass „wp“ auch die Abkürzung für Wordpress ist wußte ich nicht.

Gruß Werner Klausen

Das bezieht sich aber nur auf die Systemebene, mit den Dateinamen im Shopverzeichnis hat der sicher nichts zu tun :)

Share this post


Link to post
Share on other sites

Langsam ist bei mir ein Ende mit den Fehlermeldungen bei PHP 7.2 abzusehen. Im FE sehe ich keine mehr, im BE bekomme ich eine bzgl. smarty_internal_compilebase.php nicht weg. 

Warning on line 104 in file ...\tools\smarty\sysplugins\smarty_internal_templatebase.php(157) : eval()'d code
[2] count(): Parameter must be an array or an object that implements Countable

Whiley, wie hast du die wegbekommen? Ein count() finde bei Zeile 104 nicht... Wenn ich auf im BE auf Advanced Parameters > Configuration Information gehe, kommt das Warning.

Gruß Rainer

Share this post


Link to post
Share on other sites

Hallo Rainer,

anbei meine überarbeitete Datei.

Der Fehler wäre für die Funktion des Shops nicht so wichtig, betroffen ist ja nur der debug-mode. Wenn du also den debug-mode wieder abschaltest, würde der Fehler gar keine Auswirkungen haben. Aber trotzdem ist es natürlich besser hier zu korrigieren.

 

Grüsse
Whiley

smarty_internal_compilebase.php

Share this post


Link to post
Share on other sites

Hallo Whiley,

danke. Jetzt ist mir doch ein Fehler unterlaufen. Die smarty_internal_compilebase.php hatte ich schon sauber, war ein ja Fehler im FE. Der Fehler im BE während Advanced Parameters > Configuration Information bezieht sich auf die smarty_internal_templatebase.php .

Bekommst du hier kein Warning im roten Fenster? Smarty Cache vorher löschen.

Grüße Rainer

Share this post


Link to post
Share on other sites

Hallo

versuche meinen Presta 1.6.1.10 auch für PHP7.2 anzupassen.

Mit den Änderungen von
https://github.com/PrestaShop/PrestaShop/pull/8724/commits/982a34534345237e8c13abb16d56107a0e0ab1b5
und
https://github.com/PrestaShop/PrestaShop/commit/51133ddb1d78b10b6819b168d3badea11520b93f

scheint der Testshop mit bis PHP 7.0 zu laufen.
bei Verwendung von PHP7.1 öder PHP 7.2 erhalte ich folgende Fehlermeldung.

Zitat

Fatal error: Uncaught Error: [] operator not supported for strings in /yyyyyy/xxxxxxx/webseiten/landmuecke-at/classes/db/DbQuery.php:96 Stack trace: #0 /yyyyyyy/xxxxxxxxx/webseiten/landmuecke-at/Adapter/Adapter_EntityMapper.php(45): DbQueryCore->from('shop', 'a') #1 /yyyyyyyyyy/xxxxxxxxxx/webseiten/landmuecke-at/classes/ObjectModel.php(233): Adapter_EntityMapper->load('1', NULL, Object(Shop), Array, NULL, true) #2 /yyyyyyyyyyy/xxxxxxxxxx/webseiten/landmuecke-at/classes/shop/Shop.php(131): ObjectModelCore->__construct('1', NULL, NULL) #3 /yyyyyyyyyy/xxxxxxxxxx/webseiten/landmuecke-at/classes/shop/Shop.php(397): ShopCore->__construct('1') #4 /yyyyyyyy/xxxxxxxx/webseiten/landmuecke-at/config/config.inc.php(114): ShopCore::initialize() #5 /yyyyyyy/xxxxxx/webseiten/landmuecke-at/index.php(27): require('/yyyyyyy/xxxxxxx...') #6 {main} thrown in /yyyyyyy/xxxxxxxx/webseiten/landmuecke-at/classes/db/DbQuery.php on line 96

Wenn ich dan noch in der        classes/db/DbQuery.php      Zeile 42
von
'from'   => '',
in
'from'   => array(),
ändere, bleibt es noch bei der Fehlermeldung

Zitat

Parse error: syntax error, unexpected '' => array(),' (T_CONSTANT_ENCAPSED_STRING) in /yyyyy/xxxxxxxx/webseiten/landmuecke-at/classes/db/DbQuery.php on line 79

Das sind meine Zeilen in der classes/db/DbQuery.php

78        if (!empty($fields)) {
79            $this->query['select'][] = $fields;
80        }

Leider bin ich da mit meinen Möglichkeiten am Ende.
Hat wer eine Idee an was es klemmt?

Share this post


Link to post
Share on other sites
Posted (edited)

Da sitzt irgendwo ein " das da nicht hingehört.... Der Fehler muss nicht zwangsläufig dort sein, sondern kann durchaus auch dort sein, wo der Verweis hinzeigt

Edited by Claudiocool (see edit history)

Share this post


Link to post
Share on other sites

Hallo Claudiocool,

wo siehst Du das da ein " zufiel sein soll?
Oder weißt Du das aus der Erfahrung?
Und meinst Du in der classes/db/DbQuery.php ?

 

Share this post


Link to post
Share on other sites

Habe gerade die original    classes/db/DbQuery.php aus der Erstinstallation mit der geänderten verglichen.
Da habe ich gemerkt, das ich versehendlich an anderer Stelle mit vermutlich mit Str V  from'   => array(), eingefügt hatte.
Nach löschung bin ich wieder bei dem Fatal error

Zitat

Fatal error: Uncaught Error: Call to undefined function mcrypt_decrypt() in /yyyy/xxxx/webseiten/landmuecke-at/classes/Rijndael.php:68 Stack trace: #0 /yyyyyy/xxxxxx/webseiten/landmuecke-at/classes/Cookie.php(284): RijndaelCore->decrypt('Vw33xN9NrI/QFwy...') #1 /yyyyyy/xxxxxxx/webseiten/landmuecke-at/classes/Cookie.php(88): CookieCore->update() #2 /yyyyyy/xxxxx/webseiten/landmuecke-at/config/config.inc.php(163): CookieCore->__construct('psAdmin', '', 1553877312) #3 /yyyyyyy/xxxxxxx/webseiten/landmuecke-at/orgashop/index.php(36): require('/yyyyy/5692xxxxx50_...') #4 {main} thrown in /yyyyyyy/xxxxxx/webseiten/landmuecke-at/classes/Rijndael.php on line 68

Also nicht in der classes/db/DbQuery.php

@Eleazar
nur Interesse halber.
Wie kommt man darauf das das in der Produkt.php sein könnte?

Share this post


Link to post
Share on other sites

Weil es da auch zwei zu ändernde Stellen gibt, die statt als Array nur durch zwei Beistriche als Leerfeld gekennzeichnet sind. Aber das ist eigentlich nur dann erforderlich, wenn man auch den Web-Service nutzt.

Hast du wirklich alle Änderungen eingespielt, die in der Zip-Datei für 1.6 hier erhältlich sind und auch die dort vorgeschlagenene Änderungen im Verzeichnis parser_sql  durchgeführt?

 

Share this post


Link to post
Share on other sites

 

in der /classes/Rijndael.php Zeile 68 bei mir.

54    public function decrypt($ciphertext)
55    {
56        if (ini_get('mbstring.func_overload') & 2) {
57            $length = intval(mb_substr($ciphertext, -6, 6, ini_get('default_charset')));
58            $ciphertext = mb_substr($ciphertext, 0, -6, ini_get('default_charset'));
59            return mb_substr(
60                mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $this->_key, base64_decode($ciphertext), MCRYPT_MODE_CBC, $this->_iv),
61                0,
62                $length,
63                ini_get('default_charset')
64            );
65        } else {
66            $length = intval(substr($ciphertext, -6));
67            $ciphertext = substr($ciphertext, 0, -6);
68            return substr(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $this->_key, base64_decode($ciphertext), MCRYPT_MODE_CBC, $this->_iv), 0, $length);
69        }
70    }

Habe bei meinem Provider mal nachgeforscht.
Anscheinend ist bei DomaynFactory bei PHP 7.1 und 7.2 mcrypt nicht installiert.
Bringt man PHP auch ohne zum laufen?

Share this post


Link to post
Share on other sites
vor 17 Minuten schrieb jobybär:

nur Interesse halber.
Wie kommt man darauf das das in der Produkt.php sein könnte?

Weil es da auch zwei zu ändernde Stellen gibt, die statt als Array nur durch zwei Beistriche als Leerfeld gekennzeichnet sind. Aber das ist eigentlich nur dann erforderlich, wenn man auch den Web-Service nutzt.

Hast du wirklich alle Änderungen eingespielt, die in der Zip-Datei für 1.6 hier erhältlich sind und auch die dort vorgeschlagenene Änderungen im Verzeichnis parser_sql  durchgeführt?

Die Funktion mcrypt_decrypt()  in der alten Rjjndael.php wird ab PHP 7.2 nicht mehr unterstützt. Du musst also entweder auf Blowfish umsteigen oder entsprechende Anpassungen durchführen. Verwende die Rijndal.php aus PrestaShop 1.6.1.23 und gib sicherheitshalber in PHPMyAdmin einmalig folgenden Befehl ein:

UPDATE `ps_configuration` SET `value` = '0' WHERE `name` = 'PS_CIPHER_ALGORITHM'

 

Share this post


Link to post
Share on other sites

Hallo eleazar

vor 5 Minuten schrieb  eleazar:

Weil es da auch zwei zu ändernde Stellen gibt, die statt als Array nur durch zwei Beistriche als Leerfeld gekennzeichnet sind. Aber das ist eigentlich nur dann erforderlich, wenn man auch den Web-Service nutzt.

Hast du wirklich alle Änderungen eingespielt, die in der Zip-Datei für 1.6 hier erhältlich sind und auch die dort vorgeschlagenene Änderungen im Verzeichnis parser_sql  durchgeführt? 

 

Danke für den Hinweis.

Muß das mal Prüfen. Denke aber nicht wei mit parser_sql habe ich sicher nichts gemacht.

Share this post


Link to post
Share on other sites

das muß man auch erst mal wissen ;o)

Zitat

Die Funktion mcrypt_decrypt()  in der alten Rjjndael.php wird ab PHP 7.2 nicht mehr unterstützt. Du musst also entweder auf Blowfish umsteigen oder entsprechende Anpassungen durchführen.

Du meinst einfach die Umstellung im Backoffice richtig.

Share this post


Link to post
Share on other sites
vor 42 Minuten schrieb jobybär:

Hallo Claudiocool,

wo siehst Du das da ein " zufiel sein soll?
Oder weißt Du das aus der Erfahrung?
Und meinst Du in der classes/db/DbQuery.php ?

 

hmmmm.... ich hab dir einfach die Fehlermeldung "vorgelesen"

Share this post


Link to post
Share on other sites
vor 2 Minuten schrieb jobybär:

Du meinst einfach die Umstellung im Backoffice richtig.

Ja, aber Blowfish ist nicht zu empfehlen, daher mein obiger Hinweis.

Share this post


Link to post
Share on other sites

Habe auf Blowfisch umgestellt.
Im Frond gibt es nun 3 Meldungen.
Ansonsten geht der Shop aber schon mal.

Zitat

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /kunden/569250_87763/webseiten/landmuecke-at/tools/smarty/sysplugins/smarty_internal_compilebase.php on line 75

Warning: count(): Parameter must be an array or an object that implements Countable in /kunden/569250_87763/webseiten/landmuecke-at/modules/blockcart/blockcart.php on line 158

Warning: count(): Parameter must be an array or an object that implements Countable in /kunden/569250_87763/webseiten/landmuecke-at/classes/Blowfish.php on line 69

 

Share this post


Link to post
Share on other sites

@Eleazar

Zitat

Die Funktion mcrypt_decrypt()  in der alten Rjjndael.php wird ab PHP 7.2 nicht mehr unterstützt. Du musst also entweder auf Blowfish umsteigen oder entsprechende Anpassungen durchführen.

Anpassungen durchführen. Das übersteigt momentan meinen Horizont *lool*
Was für Anpassungen sind da zu machen? Da fehlt mir gerade jeglicher Ansatz.....

Share this post


Link to post
Share on other sites

Wer lesen kann, ist echt im Vorteil. 😊 Das habe ich doch weiter oben geschrieben. Falls so eine SQL-Anweisung Deine Möglichkeiten übersteigt,  wirst Du Dich wohl an einen IT-Dienstleister wenden müssen, der Deinen Shop anpasst.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

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