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.yaml oder config.phpDatei.

    • SCD on Build erfordert, dass die Asset-Minimierungseinstellungen in app/etc/config.php gespeichert 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.

Auflösung resolution

Beheben des Problems:

  1. Überprüfen Sie zunächst die Dateiberechtigungen für die betroffenen Assets, um sicherzustellen, dass sie für den Webserver zugänglich sind.

    1. 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
    2. 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).
    3. Wenn die Datei auf einigen Knoten vorhanden ist, auf anderen jedoch nicht, senden Sie eine Support-Anfrage mit dem Kontaktgrund, der auf "".
  2. Wenn die Datei nicht auf allen Knoten vorhanden ist, überprüfen Sie anschließend, ob die .magento.env.yaml- und app/etc/config.phpDateien für Ihre Umgebung korrekt konfiguriert sind.

    1. Führen Sie auf einem der Webknoten zunächst den folgenden Befehl aus: vendor/bin/ece-tools wizard:scd-on-build

    2. 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 Wert 0 bedeutet, dass das Element deaktiviert ist, und 1 bedeutet, dass es aktiviert ist.

    3. Wenn keine Zeilen zurückgegeben werden:

      • Führen Sie den Befehl config:dump aus, um die Minimierungskonfiguration in app/etc/config.php zu speichern (siehe Festlegen der SCD beim Build).
      • Übertragen Sie sie in das Repository.
      • Stellen Sie die Instanz erneut bereit.
    4. Wenn eine der Asset-Minimierungseinstellungen den Wert 0 aufweist, der minimiert werden soll:

      • Aktualisieren Sie den Wert in app/etc/config.php auf 1.
      • Übertragen Sie sie in das Repository.
      • Stellen Sie die Instanz erneut bereit.
    5. Überprüfen Sie die Datei .magento.env.yaml und 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.
  3. 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.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f