Lỗi cài đặt Magento 2: không có động cơ như vậy:


7

Tôi đã cố gắng cài đặt Magento 2.2 EE trên máy cục bộ của mình với MySQL 5.7,21 và PHP 7. Trên lệnh "bin / magento setup: install", nó bắt đầu điền vào cơ sở dữ liệu cho đến khi gặp sự cố với lỗi sau:

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

       [LogicException]
       There is no such engine:

Đó là tất cả những gì tôi có. Tôi đã cố gắng sửa đổi bảng 'core_config_data' trong đó đường dẫn là 'catalog / search / engine' thành 'mysql', nhận ra rằng nó thậm chí không ở đó, phải thêm nó bằng tay, nhưng nó không hoạt động "Thiết lập bin / magento: nâng cấp" nó cũng gặp sự cố tại Magento_CatalogSearch với cùng một lỗi "Không có công cụ như vậy:".

Bất kỳ ý tưởng làm thế nào tôi có thể thoát khỏi lỗi này?


bạn đang sử dụng phiên bản magento nào (tức là CE hoặc EE)?
Asim

Đây có phải là Magento Commerce không?
vitoriodachef

@ Đã lưu nó là Magento 2 EE
E.Mayer

@vitoriodachef đó là Magento 2 EE
E.Mayer

kiểm tra công cụ db trong magento.yaml / services.yaml nếu đó là tìm kiếm mysql hoặc sloar / co giãn.
Asim

Câu trả lời:


1

Hãy thử với 3 bước dưới đây:

  1. Bỏ qua cài đặt Magento_CatalogSearch trong lần đầu tiên

Truy cập app / etc / config.php và tắt mô-đun này, Tìm kiếm Magento_CatalogSearch và thay đổi 1 thành 0.

  1. Chạy truy vấn SQL này sau khi cài đặt thành công hoặc có thể được thực hiện trong nền

CẬP NHẬT core_config_data đặt value = 'mysql' where path = 'catalog / search / engine';

  1. Sau khi cài đặt thành công, hãy chạy lệnh CLI bên dưới để nâng cấp, xóa bộ đệm và reindex

Thiết lập php -f bin / magento: nâng cấp php -f bin / magento cache: flush php -f bin / magento indexer: reindex


@ E.Mayer: Bạn đã thử giải pháp này chưa? Bạn có cơ hội kiểm tra nhật ký MySql không?
Taran

0

Bạn thiết lập một công cụ tìm kiếm danh mục không tồn tại ở ' catalog/search/engine' trong cấu hình của bạn. Xem:app/code/Magento/CatalogSearch/Model/ResourceModel/EngineProvider.php

Vì vậy, bạn có thể cấu hình một công cụ tìm kiếm mà bạn không cài đặt.


mysql là công cụ, nó đã được cài đặt.
E.Mayer

Tôi chưa bao giờ cài đặt một công cụ tìm kiếm. Nhưng bạn đã kiểm tra xem chuỗi thiết lập có đúng không? Bạn đã thiết lập thủ công hoặc thông qua thả xuống trong phần phụ trợ chưa?
Steros

0

Tìm kiếm thông điệp tường trình:

/**
 * 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];
...

Hơn nữa trong lớp có một hằng số cấu hình: const CONFIG_ENGINE_PATH = 'catalog/search/engine';Tôi sẽ xem xét những gì nó được đặt thành, rất có thể công cụ tìm kiếm được định cấu hình như elaticsearch được đặt nhưng không khả dụng.

Đây cũng là một bản nâng cấp từ 1.x?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.