magento 安装时 Database server does not support the InnoDB storage engine 的解决办法 magento 安装时 Database server does not support the InnoDB storage engine 的解决办法
打开appcodecoreMageInstallModelInstallerDbMysql4.php文件,编辑supportEngine方法,在原方法中的return前添加以下代码:
-
if (!isset($variables['have_innodb'])) {
-
$engines = $this->_getConnection()->fetchPairs('SHOW ENGINES');
-
return (isset($engines['InnoDB']) && ($engines['InnoDB'] == 'DEFAULT' || $engines['InnoDB'] == 'YES'));
-
}
报错的原因是因为Mysql 5.6版本已经已经丢弃了“have_innodb”这个函数.而Magento1.7.0.2以下,都是使用该函数检测Mysql是否激活了InnodB引擎。
================= 测试如下 ===================================
public function supportEngine()
{
$variables = $this->_getConnection()
->fetchPairs('SHOW VARIABLES');
if (!isset($variables['have_innodb'])) {
$engines = $this->_getConnection()->fetchPairs('SHOW ENGINES');
return (isset($engines['InnoDB']) && ($engines['InnoDB'] == 'DEFAULT' || $engines['InnoDB'] == 'YES'));
}
return (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') ? false : true;
}