Magento 安装抱怨 InnoDB 可用时丢失

2021-12-19 00:00:00 php magento mysql innodb

在安装过程中,Magento 产生以下错误:

<块引用>

数据库服务器不支持 InnoDB 存储引擎.

我已经修复了 Magento 的所有依赖项,并在命令行上使用 SHOW ENGINES 对 MySQL 进行了双重检查,并且肯定有 InnoDB 可用(也是默认存储引擎).

这不是访问 MySQL 配置的问题,其他人在安装时可能已经看到.

注意:这是在 Mac Pro 上运行的(对我正在开发的域名进行了简单的主机 DNS 重写).

解决方案

文件第59行app/code/core/Mage/Install/Model/Installer/Db/Mysql4.php

替换:

公共函数 supportEngine(){$variables = $this->_getConnection()-> fetchPairs('显示变量');return (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') ?假:真;}

这样:

公共函数 supportEngine(){$variables = $this->_getConnection()-> fetchPairs('显示引擎');返回 (isset($variables['InnoDB']) && $variables['InnoDB'] != 'NO');}

During installation, Magento produces the following error:

Database server does not support the InnoDB storage engine.

I've fixed all the dependancies for Magento, and double checked with MySQL on the command line using SHOW ENGINES and definitely have InnoDB available (also the default storage engine).

This isn't an issue about access to MySQL config which others might have seen on their install.

Note: This is running on a Mac Pro (with a simple hosts DNS rewrite for the domain name I am developing for).

解决方案

Line 59 of the file app/code/core/Mage/Install/Model/Installer/Db/Mysql4.php

Replace:

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

with this:

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

相关文章