Magento很慢而且很吃内存这个是不争的事实,虽然网上有很多速度优化方法,例如开启缓存,CDN加速,压缩代码,合并JS等等,做完这些速度其实还是很慢,平均一个页面本地打开Profiler执行时间差不多要1.5-3秒,开了缓存可能会好点,但是数据复杂或者计算复杂的页面(结算)就还是下去了。虽然现在有了2.0版说是取消了EVA数据模型速度有了很大提升,早期我也玩过一下下但是也是很吃硬件配置,速度也并不是官方说的那么牛b而且还一大堆BUG(当然现在应该没什么BUG了忙完不是黑粉)。
绕了这以大个弯子对于没有转2.0或不想转2.0的怎么去解决这个心病呢?当然是用php7.0+,新版的PHP速度提升这个真不是白给的。立竿见影。废话少说直接开始:
对于1.9社区版官方发布了php7的补丁包
对于1.14的企业版官方也发布了补丁包但是没地方下,我用的是D版所以只能寻求别的办法:
网上有这个大神的项目可以解决https://github.com/Inchoo/Inchoo_PHP7
弄下来安装上,切换php环境到7,发现网站运行不了,具体报错一大坨:
Fatal error: Uncaught Error: Function name must be a string in app\code\core\Mage\Core\Model\Layout.php:555 Stack trace: #0
........
解法如下:
1、把app\code\core\Mage\Core\Model\Layout.php拷贝到app\code\local\Mage\Core\Model下面
修改大约第550行
2、修改app\code\core\Mage\Catalog\Helper\Output.php大约第154行:
保存刷新项目,再看看页面执行时间,确实提升了很多。至于有没有什么BUG正在观察中。