Nach Update auf 6.3.3.0 Shop nicht mehr aufrufbar (Theme-Daten fehlen)

Hallo zusammen,

ich habe ein Problem nach der Installation des Updates auf Version 6.3.3.0 (Update wurde als Hinweis in Shopware 6 angezeigt, Update wurde über die integrierte Update-Funktion durchgeführt).

Zunächst meine Umgebung:

  • Hoster : AllInkl
  • PHP-Version : 7.4.10
  • MySQL-Version : 5.7.28
  • Shopware : Shopware 6 Community Edition
  • Sonstiges : Neu installiert, nur Demo-Daten enthalten, keine externen Plugins

 

Nach erfolgreichem Update (alles war „grün“ und sah problemlos aus) sollte ich wohl wieder auf die Hauptseite umgeleitet werden, statt dessen wurde aber folgender Fehler angezeigt:

(https://…meinedomain…/public/api/v3/_action/update/finish/bae3c9a5b95ebe8a9828744715961105)

 

{"errors":[{"code":"0","status":"500","title":"Internal Server Error","detail":"Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16777224 bytes)"}]}
Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.

 

Danach konnte ich weder Storefront noch den Admin-Bereich aufrufen. Stattdessen wurde folgendes angezeigt:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at webmaster@ __meinedomain__ to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.

 

Das Server-Log wiederum weist folgende Fehler auf:

 

[2020-11-05 08:10:28] php.CRITICAL: Fatal Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16777224 bytes) {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\OutOfMemoryError(code: 0): Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16777224 bytes) at /www/htdocs/ __meinedomain__ /vendor/sabberworm/php-css-parser/lib/Sabberworm/CSS/Parsing/ParserState.php:285)"} []
[2020-11-05 08:56:34] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /theme/3dfef236b7a94e4d5c5ddec22fc8072b/css/all.css" (from " __meinedomain__ public/")" at /www/htdocs/ __meinedomain__ /vendor/symfony/http-kernel/EventListener/RouterListener.php line 136 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET /theme/3dfef236b7a94e4d5c5ddec22fc8072b/css/all.css\" (from \" __meinedomain__ public/\") at /www/htdocs/ __meinedomain__ /vendor/symfony/http-kernel/EventListener/RouterListener.php:136, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): No routes found for \"/theme/3dfef236b7a94e4d5c5ddec22fc8072b/css/all.css/\". at /www/htdocs/ __meinedomain__ /vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php:70)"} []
[...]
[2020-11-05 08:59:09] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /public/detail/a01daf9b6fe24753be8db3658926551a"" at /www/htdocs/ __meinedomain__ /vendor/symfony/http-kernel/EventListener/RouterListener.php line 136 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET /public/detail/a01daf9b6fe24753be8db3658926551a\" at /www/htdocs/ __meinedomain__ /vendor/symfony/http-kernel/EventListener/RouterListener.php:136, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): No routes found for \"/public/detail/a01daf9b6fe24753be8db3658926551a/\". at /www/htdocs/ __meinedomain__ /vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php:70)"} []
[...]
[2020-11-05 08:59:09] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /public/navigation/19ca405790ff4f07aac8c599d4317868"" at /www/htdocs/ __meinedomain__ /vendor/symfony/http-kernel/EventListener/RouterListener.php line 136 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET /public/navigation/19ca405790ff4f07aac8c599d4317868\" at /www/htdocs/ __meinedomain__ /vendor/symfony/http-kernel/EventListener/RouterListener.php:136, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): No routes found for \"/public/navigation/19ca405790ff4f07aac8c599d4317868/\". at /www/htdocs/ __meinedomain__ /vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php:70)"} []
[...]
[2020-11-05 08:59:27] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /theme/3dfef236b7a94e4d5c5ddec22fc8072b/js/all.js" (from " __meinedomain__ public/Lebensmittel/Backwaren/")" at /www/htdocs/ __meinedomain__ /vendor/symfony/http-kernel/EventListener/RouterListener.php line 136 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET /theme/3dfef236b7a94e4d5c5ddec22fc8072b/js/all.js\" (from \" __meinedomain__ public/Lebensmittel/Backwaren/\") at /www/htdocs/ __meinedomain__ /vendor/symfony/http-kernel/EventListener/RouterListener.php:136, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): No routes found for \"/theme/3dfef236b7a94e4d5c5ddec22fc8072b/js/all.js/\". at /www/htdocs/ __meinedomain__ /vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php:70)"} []
[...]

(Das ist ein Aufzug aus den recht gleichartigen Fehlern - ingesamt gibt es über 70 solcher Zeilen.)

Die Meldungen machen deutlich, dass Dateien fehlen. Und tatsächlich, die Dateien sind weg - z.B. ist das Theme-Verzeichnis komplett leer.

Das ganze ist unkritisch, da es sich nur um eine Testinstallation von Shopware 6 Community Edition handelt, um mir die Version einmal anzusehen. Allerdings hinterlässt das natürlich ein schlechtes Gefühl und ich würde die Ursache dafür sehr gerne verstehen.

 

  • Habe ich einen Fehler gemacht? (die Checks während es Updates waren alle „grün“)
  • Liegt evtl. ein Bug vor?
  • Ist die Umgebung (Hosting AllInkl) evtl. die Ursache, muss irgendwo der Speicher (bezogen auf die „Allowed memory size of … bytes exhausted“-Meldung) erhöht werden?

 
Als Nebenbemerkung

In der Dokumentation steht, dass Log-Dateien auf dem Server unter /var/logs/ zu finden sind (also das Linux Log-Verzeichnis). Die Logs, über die ich obige Fehlermeldungen gefunden habe, waren jedoch unterhalb meines Shop-Verzeichnisses in ./var/. Ist hier die Dokumentation falsch oder unvollständig (ich finde es natürlich gut, dass die Logs dort zu finden sind, denn auf /var/logs/` habe ich keinen Zugriff)?
 

 
 
Über Eure Hilfe würde ich mich sehr freuen ! 

Vielen Dank

 - Ben

Zu wenig RAM (128MB) - welches Paket? Ggf. in der htaccess den Speicher hochsetzen - aber das Limit hängt dann ja auch wieder vom Paket ab  Halo

1 „Gefällt mir“

Laut Fehlermeldung liegts an zu wenig Memory - also pinge am Besten mal Allinkl an und lass es auf 512MB hochsetzen. Das was man selbst auf einem Shared Hosting ggf. definiert muss nicht das sein, was tatsächlich zur Verfügung steht.

1 „Gefällt mir“

Ok, ich werde mich mal an AllInkl wenden und nachfragen, wie es mit dem Speicher aussieht.

Out-Of-Memory-Fehler verursachen ja per definitiv undefiniertes Verhalten. Aber dass plötzlich ganze Verzeichnisse leer sind, finde ich schon kritisch. Anscheinend wurden da Dateien temporär kopiert, gepatcht und sollten dann wieder zurückkopiert werden, aber ein OoM ist aufgetreten, wodurch das Zurückkopieren oder Umbenennen nicht abgeschlossen werden konnte - so könnte man es sich evtl. erklären?

Edit : Das Paket ist “PrivatPlus”

Edit 2 : Via ‘phpinfo()’ ist zu sehen: ‘memory_limit = 128M’

Kurzes Update - Allinkl hat schnell reagiert und bestätigt, dass ich den Speicher selbst via .htaccess erhöhen kann, auf z.B. 256 oder auch 512 MB.

 

Dazu die Frage - muss ich jeweils eine .htaccess ins root sowie ins “public” Verzeichnis legen, reicht das aus?

 

Edit : Mir ist nun im Übrigen aufgefallen, warum ich das Memory Limit nicht beachtet habe. Bei der Installation wird “Alles grün” angezeigt (Schritt “Systemvoraussetzungen”), obwohl bei der ‘memory_limit’ PHP-Eigenschaft ein kleiner gelber, statt grüner Kreis zu sehen ist. Ich würde erwarten, dass bei mindestens einem gelben Kreis in der Zusammenfassung nicht “alles grün” angezeigt werden darf, sondern eben die Farbe der schlechtesten Einzelbewertung.

 

Ich habe Shopware 6 nun neu installiert, diesmal das Memory Limit auf 512 MB gesetzt, via ‘.htaccess’ im root sowie in ‘public’ des Shops.

Die Installation lief problemlos durch - am Ende jedoch wurde ich auf die URL ‘https://__meinedomain__/public/admin’ weitergeleitet, was zu einem 404 führe. Das Verzeichnis “admin” existiert nicht.

Auch der Storefront fehlt mal wieder das CSS und sieht direkt nach einer ganz frischen Installation so aus:

 

 

Ich suche die Fehler ja gerne bei mir, allerdings wirds langsam etwas komisch. Eine frische Installation, alle Voraussetzungen / Versionen sind erfüllt. Und trotzdem passiert das obige.

Wie muss ich den Intaller von Shopware 6 verstehen – lädt dieser während der Installation noch die neueste Shopware Version herunter, oder wird, wenn ich ‘install_v6.3.2.1.zip’ nutze, auch exakt Version 6.3.2.1 installiert?

Falls er die neuste Version runterlädt, gibt es mit Version 6.3.3.0 evtl. aktuell ein Problem?

Ich bekomms auch nicht installiert auf einem lokalen Debian10. Interessanterweise wird beim Aufruf über FQDN=

shop.ware.de der Fehler gezeigt:

Oops! An Error Occurred

The server returned a “500 Internal Server Error”.

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.

Rufe Ich aber nur shop auf kommt @Ben_Ren obige Anzeige.

 

Hey @jackfritt‍ , vielen dank für Deine Rückmeldung

Ich bin heute dabei ein paar weitere Tests und Versuche zu machen und melde mich hier wieder zurück.

Das klingt stark danach als ob bei euch mod_rewrite nicht korrekt installiert ist und im Verkaufskanal die Domain nicht passt.

Generelle Probleme gibt es mit keinen der beiden Versionen.

 

Hallo @AndreHerking‍, vielen Dank für Deine Antwort.

Ich nutze All-Inkl als Hoster und konnte die Version vor 6.3.3.0 ohne Probleme installieren, ohne weitere Konfiguration über htaccess o.Ä… Mit Version 6.3.3.0 kann ich Shopware 6 auf dem selben Hoster, im selben Verzeichnis nicht mehr installieren.

Sollte ein notwendiger Schritt bzgl. mod_rewrite nicht ggf. in

erwähnt werden? Oder ist der Abschnitt „Routing-Einstellungen“ genau das, was notwendig ist?

In dem Link von Dir wird z.B. gesagt, mal solle die Einstellungen in der Apache-Konfiguration vornehmen, auf die ich bei All-Inkl natürlich keinen Zugriff habe. Ich weiß aktuell nicht, welche Schritte notwendig sind, um Shopware 6 auf meinem Webspace beim Hoster All-Inkl zu intallieren.

 

Edit :

Das klingt stark danach als ob bei euch mod_rewrite nicht korrekt installiert ist und im Verkaufskanal die Domain nicht passt.

Laut all-Inkl ist ‚mod_rewrite‘ auf allen Servern installiert.

Darüber hinaus empfiehlt es sich die Routing-Einstellungen Deines Webservers ggf. anzupassen. 
Ein entsprechendes Beispiel anhand von Apache haben wir Dir hier unten aufgeführt. 

Wie kann ich das über die ‚.htaccess‘ Datei machen? In der Installationsanweisung ist nur ein Auszug aus der Apache-Konfiguration zu sehen.

Ich habe von 6.1.0 bis 6.3.3 getestet und dann erst meinen Fehler gefunden.

Meine shopware.conf für Apache



DocumentRoot /var/www/webshop/public

ServerName fremdling150.xx.de

ServerAlias fremdling150





Options Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all





ErrorLog {APACHE_LOG_DIR}/shopware_error.log <br> CustomLog {APACHE_LOG_DIR}/shopware_access.log combined

LogLevel debug

 

Und wer jetz den Fehler gefunden hat darf Ihn behalten.
Directory und Document Root sollten die gleichen Verzeichnissnamen enthalten.

Richtig wäre „“

 @AndreHerking, danke für die Hilfe!

Interessant das es so halb lief…  :slight_smile:

 

Gruss,

 

Jörg

Hallo Jörg,

 

Und wer jetz den Fehler gefunden hat darf Ihn behalten.
Directory und Document Root sollten die gleichen Verzeichnissnamen enthalten.

 

Richtig wäre „“

 

Richtig wäre „“? Fehlt da etwas?

Ich würde Deinen Fehler gerne verstehen, mir ist leider nicht klar, was Du meinst.

 

Danke!

Na da wurde ja alles verschluckt… :slight_smile:

 

     DocumentRoot /var/www/webshop/public
     ServerName fremdling150.xxx.de
# ServerAlias fremdling150


Options Indexes FollowSymLinks MultiViews 
  AllowOverride All 
  Order allow,deny 
  allow from all 


ErrorLog ${APACHE_LOG_DIR}/shopware_error.log
CustomLog ${APACHE_LOG_DIR}/shopware_access.log combined
LogLevel debug 

Richtig wäre

1 „Gefällt mir“

@jackfritt‍  Danke für Deine Antwort!

Kurze Nachfrage dazu: Ich nutze den Hoster All-Inkl und habe leider keinen Zugriff auf die Apache Konfiguration.

Kann man eine solche Weiterleitung (damit man im Browser nicht das /public angeben muss) auch via htaccess Datei machen? Ich möchte natürlich nicht, dass Kunden später das /public immer mit angeben müssen.

Vielen Dank!
 

Du solltest bei All Inkl einstellen können auf welches Verzeichnis die Domain verweisen soll - da nimmst du dann einfach das public Verzeichnis.

1 „Gefällt mir“

@AndreHerking schrieb:

Du solltest bei All Inkl einstellen können auf welches Verzeichnis die Domain verweisen soll - da nimmst du dann einfach das public Verzeichnis.

 

Ach ja natürlich - ich habe die ganze Zeit an die htaccess gedacht und diese Einstellungsmöglichkeit ganz vergessen - vielen Dank!