Moin, ich habe ein älteres eigenes Plugin welches ich nicht im Detail posten kann. Unter 5.1.6 lässt es sich prima installieren, unter 5.2 kann ich es zwar hochladen aber nicht mehr das „Plus“ Zeichen im Plugin Manager drücken. Es kommt der Konsolen-Fehler „example.com/backend/PluginInstaller/installPlugin 503 (Service Unavailable)“. Was hat sich denn in 5.2 geändert?
Das Plugin:
legt eine Datenbanktabelle an
hat Plugin Configs
hat JS, LESS, Template Files
hat ein eigenen MenuItem-Punkt und Fenster
hat Frontend Controller für Formulareingabe mit Captcha sowie Frontend Daten Ausgabe
customModels etc also eigentlich alles.
Ich bin für jeden Hinweis dankbar.
PS: Eine Frage vll. in vielen neueren Pluginbeispielen habe ich keine afterInit() gesehen, sondern, dass die registerCustomModels in der Funktion updateSchema() untergebracht ist. Spielt das eine Rolle?
ja, das Debugging sollte man unter keinen Umständen in einer produktiven Umgebung aktivieren. Damit zeigt man Hackern die PHP Fehler auf und somit mögliche Angriffsvektoren.
Wenn Du bereits so viel an deinem Plugin gemacht hast, dann wundert es mich, dass Du den Fehler nicht selber finden konntest. 503 Serivce Unavailable wird in Shopware immer entweder durch einen PHP Fehler oder durch eine nicht abgefangene Exception ausgelöst. Also prüfe doch bitte mal Deine server error_log nach dem Fehler. Wenn nichts weiter angegeben ist, dann landen darin die PHP Fehler. Bzw. vielleicht hat Shopware via Monolog auch etwas mitgeloggt. Prüfe doch mal auch die Logs unter var/log, ob es das eine Datei gibt, die mit core_production oder mit plugin_production beginnt. Wenn Du Monolog selber nicht in Deinem Plugin ansprichst, dann sollten theoretisch die Fehler in dem Core Channel landen, also sprich in der core_production-.log
@sschreier , bezogen auf aktuelles Doctrine kann das schon stimmen, es war jedoch bei Doctrine unter Shopware früher ohne Array möglich.
Hallo,
was „möglich“ und was „richtig“ ist, sind natürlich auch zwei paar Schuhe. Möglich war es bis Shopware 5.2 - richtig aber nicht (dürfte noch ein Überbleibsel von Shopware 4 sein).
Naja, wahrscheinlich gab es früher einen object zu array konverter, was ja in PHP im Prinzip ein einfacher array downcast ist. Shopware bietet auch einen von Doctrine abgeleiteten EntityManager an (warum auch immer, ist eigentlich unnötig, weil der auch nicht mehr oder bessere Funktionaltiät bietet).