Hallo und herzlich willkommen bei einem kleinen Beitrag über den allseits beliebten Shopware Fehler im Plugin Manager: SyntaxError: Unexpected token. Dieser Fehler kann vorkommen, wenn man den Shopware Plugin Manager aufruft. Bei mir kam der Fehler kurz nachdem ich versucht habe ein Theme im Plugin Manager zu kaufen. Bevor ich den Kauf durchführen konnte wurde ich aufgefordert den License Manager zu installieren. Außerdem war der Shop gerade frisch von Shopware 4 auf 5 aktualisiert worden. Ich hatte also aus den ersten Blick keine genaue Ahnung woran es liegen könnte.
Was passiert: Man ruft den Plugin Bereich auf und die Plugins werden nicht angezeigt. Stattdessen kommt dieser Fehlerbrocken
SyntaxError: Unexpected token <
at https://diedomain.de/engine/Library/ExtJs/ext-all.js?201605230943:21:5361
at Object.Ext.globalEval (https://diedomain.de/engine/Library/ExtJs/ext-all.js?201605230943:21:5369)
at Object.success (https://diedomain.de/backend/base?file=bootstrap&loggedIn=1540593160:477:5)
at Object.callback (https://diedomain.de/engine/Library/ExtJs/ext-all.js?201605230943:21:67496)
at i.onComplete (https://diedomain.de/engine/Library/ExtJs/ext-all.js?201605230943:21:422670)
at i.onStateChange (https://diedomain.de/engine/Library/ExtJs/ext-all.js?201605230943:21:422314)
at XMLHttpRequest. (https://diedomain.de/engine/Library/ExtJs/ext-all.js?201605230943:21:17406)
An den fett markierten Stellen läßt sich schon erahnen worum es gehen könnte…
Lösung: Wenn einem so ein Fehler angezeigt wird versteht man natürlich erst einmal nur südspanisch. Was kann man machen? Klar – ein Blick in die Error Log Datei kann immer helfen. Bei jedem normalen Hosting Anbieter hat man für gewöhnlich den Einblick in die Error Log Datei. Manchmal muss man die Funktion aber auch erst aktivieren. Wer bei Hosteurope ist und einen Web Server verwendet kann in den Bereich: Produktverwaltung > Webserver > Skripte & Datenbanken > Skript Einstellungen um dort einmal zu prüfen der Eintrag in der Zeile PHP Errors so wie hier im Screenshot Logging in Logfile: On, Logging Output: On lautet. Wenn nicht muss es da erst einmal aktiviert werden.
Ist die Funktion aktiviert kann man nun die Error Logdatei aufrufen. Im Fall von Hosteurope bewegt man sich dafür in den Bereich: Produktverwaltung > Webserver > Statistiken & Logfiles > Laufende ERROR-Logfiles ansehen. Wenn man dann eine ausgewählt hat muss man noch die richtige PHP Version auswählen, zur Auswahl stehen:
a) das laufendes ERROR-Logfile
b) Die letzten 10 Einträge im ERROR-Logfile oder
c) Ältere ERROR-Logfiles als GZIP herunterladen
Ich rufe für gewöhnlich die laufende Logfile auf und scrolle mich dann bis ganz nach unten wo die aktuellsten Einträge stehen. Vorher muss man aber wie gesagt noch die passende Datei für die laufende PHP Version auswählen. Wer nicht weiß welche es sein könnte kann a) einfach mal alle durchklicken und gucken was so abgeht oder b) im Admin Bereich des Webhosting Anbieter prüfen welche PHP Version aktuell läuft. Hosteuroper findet die Info im Bereich: Produktverwaltung > Webserver > Skripte & Datenbanken > PHP Versionen.
So und bei mir stand da folgendes:
[Sat Oct 27 01:11:44 2018] [-:error] [pid 294584] [client 2018:ef:ddf0:1159:6c3c:17b4:aa9d:5df7] [host diedomain.de] PHP Fatal error: The file /is/htdocs/wp22580337_N2PSABCJXRYTWGHQC/www/shop/engine/Shopware/Plugins/Community/Core/SwagLicense/Bootstrap.php was encoded by the ionCube Encoder for PHP 5.4 and cannot run under PHP 7.0.\n Please ask the provider of the script to provide a version encoded with the ionCube Encoder for PHP 5.6. in Unknown on line 0
Das heißt einmal kurz per FTP eingeloggt, den Ordner lokalisiert und anschließend terminiert. Hier sieht man ihn noch ein letztes Mal bevor er sich verabschiedet:
Beim nächsten Versuch den Plugin Manager aufzurufen sah es dann wieder so aus:!
Ich hoffe der Beitrag konnte euch weiterhelfen und wünsche euch viel Erfolg und Geduld mit euren Shopware Shops ;)
Links zu dem Thema:
Beitrag im Shopware Forum, der mich auf die Spur gebracht hat:
https://forum.shopware.com/discussion/55092/unexpected-token-in-backend-application