Bereitstellung bei Cache-Leerung fehlgeschlagen: Fehler „Im Namespace ‚cache‘ sind keine Befehle definiert.“

Wenn die Bereitstellung in Adobe Commerce in der Cloud-Infrastruktur mit dem Fehler Es sind keine Befehle im „cache“-Namespace definiert fehlschlägt, identifizieren Sie die ungültigen Zeilen, die von diesen Konfigurationen übrig bleiben. Wenn Sie nur über eine Website verfügen, gilt der zweite Test für die Websites nicht. Sie müssen nur auf Geschäfte testen.

Beschreibung description

Umgebung

Adobe Commerce auf Cloud-Infrastruktur 2.4.x

Problem

Warnung: Sichern Sie die Datenbank zuerst, wenn Sie dies auf einer Live-Produktions-Site tun, bevor Sie diese Schritte ausführen.

Dieser Artikel bietet eine Lösung für das Problem, wenn Ihre Bereitstellung fehlschlägt und einer der Fehler im Protokoll wie folgt aussieht:

[ YEAR-DAYTIME]  ERROR: [ 127]  The command "php ./bin/magento cache:flush --ansi --no-interaction" failed.
        There are no commands defined in the "cache" namespace.
...
      W:     There are no commands defined in the "cache" namespace.

Schritte zur Reproduktion:

Versuchen Sie, bereitzustellen.

Erwartete Ergebnisse:

Sie haben erfolgreich bereitgestellt.

Tatsächliche Ergebnisse:

Die Bereitstellung ist nicht erfolgreich. In den Protokollen wird ein Bereitstellungsfehler mit einer ähnlichen Meldung angezeigt wie: Es gibt keine Befehle im Cache-Namespace.

Ursache

Die core_config_data enthält Konfigurationen für eine Store-ID oder Website-ID, die nicht mehr in der Datenbank vorhanden ist. Dies tritt auf, wenn Sie eine Datenbanksicherung aus einer anderen Instanz/Umgebung importiert haben und die Konfigurationen für diese Bereiche in der Datenbank verbleiben, auch wenn die zugehörigen Stores/Websites gelöscht wurden.

Auflösung resolution

Wenn Sie nur über eine Website verfügen, gilt der zweite Test für die Websites nicht. Sie müssen nur auf Geschäfte testen.

Um dieses Problem zu beheben, identifizieren Sie die ungültigen Zeilen, die von diesen Konfigurationen übrig bleiben.

  1. SSH auf den Server übertragen und diesen Befehl ausführen:

    code language-none
    bin/magento
    
  2. Die Fehlermeldung kann anzeigen, welche Zeilen und Tabellen von gelöschten Sites in der Datenbank verbleiben. Im Folgenden finden Sie beispielsweise einen Fehler, der angibt, dass der angeforderte Speicher nicht gefunden wurde:

    code language-none
    ...
        In StoreRepository.php line 112:
    
        The store that was requested wasn't found. Verify the store and try again.
    
  3. Führen Sie diese MySQL-Abfrage aus, um zu überprüfen, ob der Speicher nicht gefunden werden kann. Dies wird durch die Fehlermeldung in Schritt 2 angezeigt.

    code language-none
    select distinct scope_id from core_config_data where scope='stores' and scope_id not in (select store_id from store);
    
  4. Führen Sie die folgende MySQL-Anweisung aus, um die ungültigen Zeilen zu löschen:

    code language-none
    delete from core_config_data where scope='stores' and scope_id not in (select store_id from store);
    
  5. Führen Sie diesen Befehl erneut aus:

    code language-none
    bin/magento
    

    Wenn Sie einen Fehler wie den folgenden erhalten, der anzeigt, dass die angeforderte Website mit der ID X nicht gefunden wurde, bleiben Konfigurationen von Websites sowie Stores in der Datenbank, die gelöscht wurden.

    code language-none
    In WebsiteRepository.php line 110:
    
        The website with id X that was requested wasn't found. Verify the website and try again.
    

    Führen Sie diese MySQL-Abfrage aus und stellen Sie sicher, dass die Website nicht gefunden werden kann:

    code language-none
    select distinct scope_id from core_config_data where scope='websites' and scope_id not in (select website_id from store_website);
    
  6. Führen Sie diese MySQL-Anweisung aus, um die ungültigen Zeilen aus der Website-Konfiguration zu löschen:

    code language-none
    delete from core_config_data where scope='websites' and scope_id not in (select website_id from store_website);
    

Verwandtes Lesen

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