Minimierte Assets wurden während der Erstellungsphase nicht gefunden oder generiert
In Adobe Commerce Cloud geben minimierte Assets nach Bereitstellung aufgrund von Dateisystemproblemen oder falscher Konfiguration von- oder .magento.env.yaml-Dateien einen config.php404-Fehler zurück. Um dies zu beheben, überprüfen Sie die Dateiberechtigungen, um sicherzustellen, dass sie für den Webserver zugänglich sind, und überprüfen Sie, ob .magento.env.yaml - und app/etc/config.php-Dateien für Ihre Umgebung korrekt konfiguriert sind.
Beschreibung description
Umgebung
Adobe Commerce Cloud
Problem/Symptome
Nach Abschluss einer Website-Bereitstellung ist der Zugriff auf bestimmte minimierte Assets nicht möglich, z. B. https://yourdomain.com/static/frontend/Namespace/theme/default/en_US/requirejs/require.min.js returned 404. Dies geschieht aus folgenden Gründen:
-
Dateisystemprobleme, die verhindern, dass die Datei über alle Web-Knoten hinweg synchronisiert wird.
-
Falsche Konfiguration der
.magento.env.yamloderconfig.phpDatei.- SCD on Build erfordert, dass die Asset-Minimierungseinstellungen in
app/etc/config.phpgespeichert werden, damit sie wirksam werden. - Die SCD-Einstellungen (siehe Umgebungsvariablen) werden nicht konfiguriert oder unter dem richtigen Schritt in der
.magento.env.yaml-Datei hinzugefügt.
- SCD on Build erfordert, dass die Asset-Minimierungseinstellungen in
Auflösung resolution
Beheben des Problems:
-
Überprüfen Sie zunächst die Dateiberechtigungen für die betroffenen Assets, um sicherzustellen, dass sie für den Webserver zugänglich sind.
- SSH zu jedem Web-Knoten hinzufügen und überprüfen, ob das Asset auf allen Web-Knoten vorhanden ist. (Hinweis: In einer Nicht-Aufspaltungs-Architektur gibt es nur drei Knoten. Bei einer geteilten Architektur sind die ersten drei Knoten Service-Knoten, es könnten jedoch weitere vorhanden sein.) Für Knoten X:
magento-cloud ssh -p <cluster_id> -I X - Führen Sie auf dem Knoten X diesen Befehl aus und überprüfen Sie die Berechtigungen:
ls -la pub/static/frontend/Namespace/theme/default/en_US/requirejs/require.min.js(Hinweis: Ersetzen Sie den Dateinamen im Befehl durch den tatsächlichen Asset-Namen, der einen 404-Fehler zurückgibt). - Wenn die Datei auf einigen Knoten vorhanden ist, auf anderen jedoch nicht, senden Sie eine Support-Anfrage mit dem Kontaktgrund, der auf "".
- SSH zu jedem Web-Knoten hinzufügen und überprüfen, ob das Asset auf allen Web-Knoten vorhanden ist. (Hinweis: In einer Nicht-Aufspaltungs-Architektur gibt es nur drei Knoten. Bei einer geteilten Architektur sind die ersten drei Knoten Service-Knoten, es könnten jedoch weitere vorhanden sein.) Für Knoten X:
-
Wenn die Datei nicht auf allen Knoten vorhanden ist, überprüfen Sie anschließend, ob die
.magento.env.yaml- undapp/etc/config.phpDateien für Ihre Umgebung korrekt konfiguriert sind.-
Führen Sie auf einem der Webknoten zunächst den folgenden Befehl aus:
vendor/bin/ece-tools wizard:scd-on-build -
Wenn der obige Befehl SCD on build is enabled“ zurückgibt führen Sie diesen Befehl aus, um zu überprüfen, ob die Asset-Minimierungseinstellungen aktiviert sind:
grep -r minify_files app/etc/*.php. (Hinweis: Ersetzen Sie den Dateinamen im Befehl durch den tatsächlichen Asset-Namen, der einen 404-Fehler zurückgibt.) Wenn der Befehl keine Zeilen zurückgibt, bedeutet dies, dass die Minimierung deaktiviert ist. Der Wert0bedeutet, dass das Element deaktiviert ist, und1bedeutet, dass es aktiviert ist. -
Wenn keine Zeilen zurückgegeben werden:
- Führen Sie den Befehl
config:dumpaus, um die Minimierungskonfiguration inapp/etc/config.phpzu speichern (siehe Festlegen der SCD beim Build). - Übertragen Sie sie in das Repository.
- Stellen Sie die Instanz erneut bereit.
- Führen Sie den Befehl
-
Wenn eine der Asset-Minimierungseinstellungen den Wert
0aufweist, der minimiert werden soll:- Aktualisieren Sie den Wert in
app/etc/config.phpauf1. - Übertragen Sie sie in das Repository.
- Stellen Sie die Instanz erneut bereit.
- Aktualisieren Sie den Wert in
-
Überprüfen Sie die Datei
.magento.env.yamlund stellen Sie sicher, dass Sie die SCD Umgebungsvariable im entsprechenden Schritt hinzugefügt haben:- SCD beim Build: Die Build-Variable sollte unter dem
build:-Schritt platziert werden. - SCD bei Bereitstellung Die Variable bereitstellen sollte unter dem
deploy:Schritt platziert werden. - Nachdem Sie sichergestellt haben, dass die Variable unter dem entsprechenden Schritt hinzugefügt wurde, übertragen Sie die Datei in das Repository und stellen Sie die Instanz erneut bereit.
- SCD beim Build: Die Build-Variable sollte unter dem
-
-
Testen Sie abschließend den Zugriff auf die betroffenen URLs, nachdem Sie Anpassungen vorgenommen haben.
Wenn nach dem Ausführen dieser Schritte weiterhin Probleme auftreten, wenden Sie sich an den Adobe-Support da möglicherweise weitere Untersuchungen der Serverprotokolle oder zusätzliche Konfigurationseinstellungen erforderlich sind.