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‘)); }
这样,就可以顺利安装了。
文章参考:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。