41

インストール中に、Magento は次のエラーを生成します。

データベース サーバーは InnoDB ストレージ エンジンをサポートしていません。

Magento のすべての依存関係を修正し、コマンド ラインで SHOW ENGINES を使用して MySQL を再確認し、InnoDB を確実に利用できるようにしました (デフォルトのストレージ エンジンでもあります)。

これは、他のユーザーがインストール時に見た MySQL 構成へのアクセスに関する問題ではありません。

注:これはMac Proで実行されています(私が開発しているドメイン名の単純なホストDNSリライトを使用)。

4

7 に答える 7

133

ファイルの59行目app/code/core/Mage/Install/Model/Installer/Db/Mysql4.php

交換:

public function supportEngine()
{
    $variables  = $this->_getConnection()
        ->fetchPairs('SHOW VARIABLES');
    return (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') ? false : true;
}

これとともに:

public function supportEngine()
{
    $variables  = $this->_getConnection()
        ->fetchPairs('SHOW ENGINES');
    return (isset($variables['InnoDB']) && $variables['InnoDB'] != 'NO');
}
于 2013-03-15T23:10:16.437 に答える
-1

私は同じ問題を抱えていましたが、それが機能する唯一の方法は、ファイルapp/code/core/Mage/Install/Model/Installer/Db/Mysql4.phpの 59 行目を次のように変更したときでした。

public function supportEngine()
{
    $variables  = $this->_getConnection()
        ->fetchPairs('SHOW VARIABLES');
    return (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') ? false : true;
}

と:

public function supportEngine()
    {
        $variables  = $this->_getConnection()
            ->fetchPairs('SHOW ENGINES');
        return (isset($variables['InnoDB']) && $variables['InnoDB'] != 'YES');
    }

そして、どこにも見つからなかったので、苦労しているなら、これで解決することを保証します.

于 2016-05-30T20:43:43.937 に答える
-1
public function supportEngine()
{
    $variables  = $this->_getConnection()->fetchPairs('SHOW ENGINES');
    return (isset($variables['InnoDB']) && $variables['InnoDB'] != 'NO');
}
于 2015-04-29T13:14:23.750 に答える