Auf einmal: Keine Versandarten gefunden ohne Änderungen im Admin

CE 4.9.9. mit PHP 5.3

Ich habe auf einmal folgendes Problem:

Kunden rufen mich an und sagen, dass Sie nicht mehr bestellen können. Es würde die Meldung “Keine Versandarten gefunden. Bitte kontaktieren Sie uns telefonisch oder per E-Mail!”.

Ich habe es überprüft. Tatsächlich. Ohne, dass ich Updates oder Änderung vorgenommen habe im Admin…der Shop funktioniert nicht mehr richtig. Es erscheint die oben genannte Fehlermeldung.

Ab und zu, wenn ich nun im Admin bei Versandkostenregeln die Haken heraus und wieder herein mache oder auch andere Dinge speichere, dann erscheint im Eshop plötzlich wieder die Seite mit den Zahlungsdaten. Allerdings, wenn ich wieder zurückgehe auf “Adresse wählen” erscheint wieder “Keine Versandarten gefunden. Bitte kontaktieren Sie uns telefonisch oder per E-Mail!”.

Zusätzlich ist das Feld “Versandart:” im Admin auf einmal gefüllt mit “- - -” und davor stand DHL Paket im Feld.

Es steht im Admin beim ersten anklicken unter “Bestellungen” => “Stamm” zuerst die Versandart “DHL Paket” im Feld…und wenn ich wieder auf den gleichen Kunde klicke, erscheint als Versandart " - - -".

Was ist auf einmal “verbogen”?

Ich bin ratlos. Wer kann mir bitte helfen???

welche mysql-Version ? Und gab es kürzlich ein Update? Ggf. Hoster fragen

Es wurde von Alfahsoting ein Updaten gemacht auf MySQL-Version 5.7. Liegt es vielleicht daran?

In Oxid selbst habe ich keine Updates gemacht…genau das ist ja das komische…
Ich habe nichts eingestellt, keine Updates gemacht, keine Module installiert oder verändert etc.

Ich habe die Version CE 4.9.9.

Das ist zumindest mal ein Kriterium das andere auch hier im Forum berichtet haben!
Die Ursache oder gar Lösung für das Problem habe ich aber auch nicht.
Kann der Hoster die mysql-Version wieder zurückstellen? Dann wüßte man, dass es definitiv daran liegt.

Ich habe nun an den Support geschrieben. Ich hoffe, daß man zurückstellen kann.
Es beschweren sich gerade immer mehr Kunden bei mir…hoffentlich bekomme ich das mit der Hilfe dieses Forums wieder in den Griff…
Danke soweit!

Gerade eben folgende Nachricht erhalten:
…die Umstellung ist serverseitig und nicht einzeln je Kundenaccount erfolgt. Eine Wiederherstellung der älteren Version ist somit natürlich nicht umsetzbar. Wir bitten um Verständnis…

dann hilft nur gezieltes Probieren :slight_smile:
nimm mal diese Zeile als [B]2.Zeile[/B] in die config.inc.php


  $this->blSkipViewUsage = true; 

Wir hatten das kürzlich auch bei einem unserer Kunden - ebenfalls nach Umstellung auf MySQL 5.7. Durch diverses Debuggen konnten wir es eingrenzen auf eine bestimmte Art von Query, welches in folgenden Klassen vorkommt:

  • oxdeliverylist
  • oxdeliverysetlist
  • oxdiscountlist

Es geht dort jeweils um die Methode _getFilterSelect(). Die verschachtelten IF-Abfragen dort stellen in MySQL 5.7 offenbar ein Problem dar. Besonders übel: Der Fehler tritt sporadisch auf und ist nicht 100%ig reproduzierbar.
In unserem Fall hat die zuständige Agentur (shoptimax) alle drei Stellen in Form eines Moduls überladen und hat die Struktur des Querys vereinfacht. Seitdem gab es keine Probleme mehr.

Ich würde mich bitte einschalten, weil ich das gleiche Problem habe.
Ich habe auch Alfahosting und die gleiche Fehlermeldung. Es ging schon mal.

@patchwork.de: Ich habe $this->blSkipViewUsage = true;
eingebaut, (meinst Du nach $this->iUtfMode mit" zweiter Stelle?"), als Ergebnis ist das Problem immer noch da, die Fehlermeldung kam nun auf englisch, weil englisch die erste Sprache in meinem Shop ist, das hat wohl mit den geskippten Views zu tun).
@urban: Das wäre interessant, ob die Agentur Lust hätte zu helfen und hier vielleicht posten wollen würde.

meinte mit 2.Zeile nach dem <?php (egal wo)

sollte auf deutsch sein - tmp geleert?

[QUOTE=MichaelH;182368]
@urban: Das wäre interessant, ob die Agentur Lust hätte zu helfen und hier vielleicht posten wollen würde.[/QUOTE]

Ich hab’s weitergegeben - evtl. meldet sich hier noch jemand dazu.

Wir hatten bei einem Kunde der auch bei Alfahosting ist das gleiche Problem. Der Support von Alfahosting hat folgenden Workaround vorgeschlagen:

Dazu fügt man in der index.php Datei im Shop Root nach der ersten “require_once”-Anweisung die folgenden Zeilen ein:

$oDb = oxDb::getDb();
$sQ = “SET SESSION optimizer_switch = ‘derived_merge=off’”;
$oDb->execute($sQ, array());

Nach ersten Tests scheint das zu funktionieren.

Jetzt funktioniert es wieder. ich hatte es erst hinter in der index.php hinter

//Starts the shop
OXID::run();

geschrieben. Dann ging es nicht.

Ich vermute mittlerweile wirklich, daß es am Updateauf MySql 5.7 lag.

Danke für die Hilfe, tesolutions und urban!

Vielen Dank für die Hilfe! Ja, die Kunden können nun wieder bestellen.
Bitte den nächsten Fehler beachten…der eventuell durch diesen Code entsteht…

Dieser Forum Beitrag behandelt das gleiche Thema:
http://forum.oxid-esales.com/showthread.php?t=40125&page=2

Bei wem tritt dieser Fehler auch auf?
Es werden im Admin keine Artikel mehr gefunden…

[QUOTE=oxid-flo;182475]Bei wem tritt dieser Fehler auch auf?
Es werden im Admin keine Artikel mehr gefunden…[/QUOTE]
Bei mir.
Oxid 4.8.0

Update von MySQL 5.5 auf MySQL 5.7
-> Versandartenproblem

  • Fix wie hier beschrieben gemacht
    Versandarten funktionieren, Artikel werden im Admin nicht mehr gefunden.
    Ob weitere Probleme Bestehen weiß ich bisher noch nicht.

Das ganze ist ja nun schon einige Zeit her.
Gibt es hier einen “flächendeckenderen” Workaround oder nur einzelne Insellösungen?

Schau doch mal hier: https://www.oxid-esales.com/de/support-services/dokumentation-und-hilfe/oxid-eshop/releases/releases-2016/oxid-eshop-4102532.html

Da steht:

Der Shop läuft unter PHP 5.3, 5.4, 5.5 und 5.6. Er ist nun auch kompatibel mit MySQL 5.7

Leider bringt der hier vorgestellte Workaround mit

$oDb = oxDb::getDb();
$sQ = “SET SESSION optimizer_switch = ‘derived_merge=off’”;
$oDb->execute($sQ, array());

bei uns (Oxid PE 5.7.8 PHP 5.3) nicht das gewünschte Ergebnis.
Daher stellte sich konkret die Frage nach der Verfügbarkeit eines Moduls zum Überladen der problematischen Klassen (oxdeliverylist, oxdeliverysetlist, oxdiscountlist) !
Von Shoptimax gibt es ein def. ein Modul, dass bei uns dieses Problem wohl beheben konnte. Ursprünglich zwar für EE gemacht, läuft aber, wie es aussieht auch in der PE.