400.000 Fehler am Tag, Shop teilweise nicht erreichbar

Guten Morgen,

ich habe hier ein großes Problem mit meinem Shop. Es kommt zu 3-4 Fehlern pro Sekunde im Log und sporadisch ist der Shop nicht erreichbar. Es gibt dann einen 403 im Frontend und einen 500er Fehler im Backend.

Hat irgendjemand eine Idee, was das sein könnte?

Also - zunächst mal quillt das Produktiv-Log für heute komplett über. Bis jetzt sind fast 300.000 Fehlereinträge für heute drin, das macht ca. 3-4 Fehler pro Sekunde.

Das fängt heute Morgen um 9:42 Uhr an:

php - ERROR
5. Oktober 2024 um 09:42:06
Warning: require(/www/htdocs/w01ec1e4/garnelenshop.de/var/cache/prod_hc855ba4795e0d61a1424a90256d1c7fb /ContainerDHDJ8bK/removed-ids.php): Failed to open stream: No such file or directory {„exception“:„[object] (ErrorException(code: 0): Warning: require(/www/htdocs/w01ec1e4/garnelenshop.de/var/cache/prod_hc855ba4795e0d61a1424a90256d1c7fb/ContainerDHDJ8bK/removed-ids.php): Failed to open stream: No such file or directory at /www/htdocs/w01ec1e4/garnelenshop.de/var/cache/prod_hc855ba4795e0d61a1424a90256d1c7fb/ContainerDHDJ8bK/Shopware_Core_KernelProdContainer.php:2304)“}

In der Datei Shopware_Core_KernelProdContainer.php in der Zeile 2304 wird versucht eine removed-ids.php zu laden. Das funktioniert nicht, weil die Datei nicht existiert. Das ganze passiert allerdings im Filecache des Shops:

[image]

Irgendwas scheint also mit dem Cache nicht richtig zu funktionieren.

Wenn ich aktuell den Cache anschaue:

[image]

Dann ist um 16:41 ein neuer Container… Ordner erstellt worden und die Shopware…php Datei wurde auch erneuert. Um die Zeit hören dann auch diese speziellen Fehlermeldungen im Log auf - nach dem im Laufe des Tages fast 300.000 Fehler produziert wurden.

Und in diesem php slow log von all-inkl taucht ca. eine halbe Stunde vor den ersten Fehlern die run-scheduledtasks.php als „langlaufendes Script“ auf. Immer 2x hintereinander und alle 5 Minuten wieder. Das entspricht dem, so wieder Agentur-Mensch den Worker über den CronJob aufruft:

[05-Oct-2024 09:15:13] [pool w01ec1e4] pid 1636755
script_filename = /www/htdocs/w01ec1e4/garnelenshop.de/public/run-scheduledtasks.php
[0x00007cd2062130b0] exec() /www/htdocs/w01ec1e4/garnelenshop.de/public/run-scheduledtasks.php:2

Wenn ich jetzt mal CronJob spiele und die Datei selber aufrufe, dann rennt das Script in den TimeOut. Also aus irgend einem Grund läuft das Script länger als 60 Sekunden. Wobei die von Shopware empfohlene maximale Laufzeit >= 30 s sein sollte. Das ist aktuell auf dem Server schon mal doppelt so lang eingestellt.

[image]

Abgesehen davon - ich weiß nicht, ob ich diese Lösung so „sauber“ finde. Denn das Ergebnis der Ausführung ist im Klartext im Browser zu lesen. Die URL kann theoretisch jeder aufrufen.

Wenn ich in das Log von gestern schaue ergibt sich ein vergleichbares Bild: 441.800 Fehler, allerdings geht es da ca. eine Stunde früher los:

php - ERROR
4. Oktober 2024 um 08:43:08
Warning: require(/www/htdocs/w01ec1e4/garnelenshop.de/var/cache/prod_h7e587ebb75519638d9fbe181e38e110a/ContainerNtWnWqD/removed-ids.php): Failed to open stream: No such file or directory {„exception“:„[object] (ErrorException(code: 0): Warning: require(/www/htdocs/w01ec1e4/garnelenshop.de/var/cache/prod_h7e587ebb75519638d9fbe181e38e110a/ContainerNtWnWqD/removed-ids.php): Failed to open stream: No such file or directory at /www/htdocs/w01ec1e4/garnelenshop.de/var/cache/prod_h7e587ebb75519638d9fbe181e38e110a/ContainerNtWnWqD/Shopware_Core_KernelProdContainer.php:2307)“}

Läuft bis ca. 16:37 Uhr, vermutlich auch ab dann wieder irgend eine Aktualisierung?

Diese Fehler finde ich aber auch schon früher in den Logs, hier z. B. am 17. September:

php - ERROR
17. September 2024 um 08:18:48
Warning: require(/www/htdocs/w01ec1e4/garnelenshop.de/var/cache/prod_hd09b49d93b625c5ec2f193bd1aed0b15/ContainerGriaxx2/removed-ids.php): Failed to open stream: No such file or directory {„exception“:„[object] (ErrorException(code: 0): Warning: require(/www/htdocs/w01ec1e4/garnelenshop.de/var/cache/prod_hd09b49d93b625c5ec2f193bd1aed0b15/ContainerGriaxx2/removed-ids.php): Failed to open stream: No such file or directory at /www/htdocs/w01ec1e4/garnelenshop.de/var/cache/prod_hd09b49d93b625c5ec2f193bd1aed0b15/ContainerGriaxx2/Shopware_Core_KernelProdContainer.php:1249)“}

Das ist dann das, was beim Login ins Backend angezeigt wird:

{„errors“:[{„code“:„0“,„status“:„500“,„title“:„Internal Server Error“,„detail“:„Failed opening required \u0027/www/htdocs/w01ec1e4/garnelenshop.de/var/cache/prod_he2846ff841a359bcf20a73a91a896209/url_matching_routes.php\u0027 (include_path=\u0027.:/usr/share/php:…\u0027)“}]}

Welche Shopware-Version ist das? Finde nix mit removed_ids.php im Code.

Hi, das ist die Version 6.6.6.0.

kannst du via ssh ein cache:clear ausführen?

Willst du eine einfache und nachhaltige Lösung?

Wechsle zu ein einem von Shopware empfohlenen Provider.

Liegt es denn am Server?

Das klingt als ob ein Bot (zum Beispiel Google oder Amazon) versucht Daten abzurufen.
In meinem Shop hat mal Amazon versucht alle Seiten abzurufen um Daten für Alexa zu sammeln… jedoch mit einer „alten“ Sitemap - viele Links waren da nicht mehr aufrufbar.

Fakt ist, dass hier die Datei fehlt, welche jedoch automatisch angelegt werden müsste.
Kannst du das Theme ohne Fehler kompilieren?
./bin/console theme:compile (ggf. mit -vvv)

Ich tippe auf ein Plugin, in meinem 6.6.6.1 (hab aber auch im 6.5.8.7 geschaut) kommt die removed_ids.php in der Shopware_Core_KernelProdContainer.php nicht vor.

Anmerkung:

Also die Datei „removed-ids.php“ kommt durchaus vor. Ich sehe sie in SW 6.5.8.9 und in anderen Versionen. Ob es Bestandteil von SW ist kann ich (zur Stunde) nicht sagen. In einem Test-System ist sie allerdings auch vorhanden und dort gibt es nur das „Frosch Tool“ und „Shopware Store“ als Plugin.