Magento 2 Installationsfehler: "Es gibt keinen solchen Motor:"

7

Ich habe versucht, Magento 2.2 EE mit MySQL 5.7.21 und PHP 7 auf meinem lokalen Computer zu installieren. Mit dem Befehl "bin / magento setup: install" wird die Datenbank bis zu einem Zeitpunkt gefüllt, an dem sie mit dem folgenden Fehler abstürzt:

   Progress: 434 / 801]
   Module 'Magento_CatalogSearch':
   Installing data...

       [LogicException]
       There is no such engine:

Das ist alles was ich habe. Ich habe versucht, die Tabelle 'core_config_data' zu ändern, in der der Pfad 'catalog / search / engine' zu 'mysql' lautet. Dabei wurde mir klar, dass sie nicht einmal vorhanden war. Ich musste sie manuell hinzufügen, aber sie funktionierte überhaupt nicht "bin / magento setup: upgrade" stürzt auch bei Magento_CatalogSearch mit dem gleichen Fehler ab: "Es gibt keine solche Engine:".

Irgendwelche Ideen, wie ich diesen Fehler beseitigen kann?

E.Mayer
quelle
Welche Magento-Version verwenden Sie (dh CE oder EE)?
Naveed Asim
Ist das Magento Commerce?
Vitoriodachef
@Naveed es ist Magento 2 EE
E.Mayer
@vitoriodachef es ist Magento 2 EE
E.Mayer
Überprüfen Sie die DB-Engine in magento.yaml / services.yaml, wenn es sich um eine MySQL- oder Sloar / Elastic-Suche handelt.
Naveed Asim

Antworten:

1

Versuchen Sie es mit den folgenden 3 Schritten:

  1. Ignorieren Sie die Installation von Magento_CatalogSearch beim ersten Mal

Gehen Sie zu app / etc / config.php und deaktivieren Sie dieses Modul. Suchen Sie nach Magento_CatalogSearch und ändern Sie 1 in 0.

  1. Führen Sie diese SQL-Abfrage nach erfolgreicher Installation aus oder können Sie sie im Hintergrund ausführen

UPDATE core_config_data set value = 'mysql' wobei path = 'catalog / search / engine';

  1. Führen Sie nach erfolgreicher Installation den folgenden CLI-Befehl aus, um ein Upgrade durchzuführen, den Cache zu leeren und neu zu indizieren

php -f bin / magento setup: aktualisiere php -f bin / magento cache: Leere php -f bin / magento indexer: reindex

Shireen N.
quelle
@ E.Mayer: Hast du diese Lösung ausprobiert? Haben Sie die Möglichkeit bekommen, das MySQL-Protokoll zu überprüfen?
Taran
0

Sie haben eine Katalogsuchmaschine eingerichtet, catalog/search/enginedie in Ihrer Konfiguration unter ' ' nicht vorhanden ist . Sehen:app/code/Magento/CatalogSearch/Model/ResourceModel/EngineProvider.php

Sie haben also wahrscheinlich eine Suchmaschine konfiguriert, die Sie nicht installiert haben.

Steros
quelle
MySQL war der Motor, es ist installiert.
E.Mayer
Ich habe noch nie eine Suchmaschine installiert. Aber haben Sie überprüft, ob die Setup-Zeichenfolge korrekt ist? Haben Sie das manuell oder per Dropdown im Backend eingestellt?
Steros
0

Suche nach der Protokollnachricht:

/**
 * Get engine singleton
 *
 * @return EngineInterface
 */
public function get()
{
    if (!$this->engine) {
        $currentEngine = $this->scopeConfig->getValue(self::CONFIG_ENGINE_PATH, ScopeInterface::SCOPE_STORE);
        if (!isset($this->enginePool[$currentEngine])) {
            throw new \LogicException(
                'There is no such engine: ' . $currentEngine
            );
        }
        $engineClassName = $this->enginePool[$currentEngine];
...

Weiter oben in der Klasse gibt es eine Konfigurationskonstante: const CONFIG_ENGINE_PATH = 'catalog/search/engine';Ich würde untersuchen, auf was sie eingestellt ist, höchstwahrscheinlich ist die Suchmaschine, die wie elasticsearch konfiguriert ist, eingestellt, aber nicht verfügbar.

War dies auch ein Upgrade von 1.x?

B00MER
quelle