Mysql5.6上安装Magento

找了家外贸公司,网站架在magento 1.6.2.

为了迎合公司需要,在本地安装一份供学习使用。在安装环节一直报错说Innodb没有安装。


因为本地环境使用很久了,可以很确定支持Innodb。

那肯定是magento版本的问题,打了了一个php5.4的patch(我的是php5.5),不行

又Google了一番....终于发现:

Mysql5.6版本摒弃了“have_innodb”这个变量。

而我们看这个代码/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;
    }

依然根据‘have_innodb‘来判断是否支持innodb已经行不通了。因此我们要改造一下这个代码,在Return前加入下面代码。

if (!isset($variables[‘have_innodb‘])) {
        $engines = $this->_getConnection()->fetchPairs(‘SHOW ENGINES‘);
        return (isset($engines[‘InnoDB‘]) && ($engines[‘InnoDB‘] == ‘DEFAULT‘ || $engines[‘InnoDB‘] == ‘YES‘));
}

这样,就可以顺利安装了。

 

文章参考:

Mysql5.6上安装Magento,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。