Magento速度优化 开启Compilation


开启Magento自带的编译模式Compilation,是提升速度最好的方法。登录进后台后,依次选择System>Tools>Compilation。第一次开启点击“run compilation process”功能,隔一会后就安装成功。第一次开启Compilation千万不要点“启动/Enabled”,会导致网站访问不了。 我就试过,比较苦逼,不明白Magento为什么不给点限制和提醒。

根据官方的资料,该模块可以提高 25% 到 50% 的性能

开启编译模式Compilation

后台->System>Tools>Compilation, 点击“run compilation process”功能,隔一会后就安装成功。

 

有些时候,开启Compilation后会有一些意想不到的错误,这里收集一下各种错误的处理方法。总的来讲,关闭Compilation就行。不过有些错误是连后台都进不到,这里列一下用其它的方法关闭Compilation功能。

如magento开启 Compilation Mage.php on line 53错误,或是访问前台后台都是空白。

 

修改代码关闭Compilation

 

打开includes/config.php

define(‘COMPILER_INCLUDE_PATH’, dirname(__FILE__).DIRECTORY_SEPARATOR.’src’);
define(‘COMPILER_COLLECT_PATH’, dirname(__FILE__).DIRECTORY_SEPARATOR.’stat’);

修改成

#define(‘COMPILER_INCLUDE_PATH’, dirname(__FILE__).DIRECTORY_SEPARATOR.’src’);
#define(‘COMPILER_COLLECT_PATH’, dirname(__FILE__).DIRECTORY_SEPARATOR.’stat’);

最后清除掉var/cache目录下的缓存。

用shell关闭Compilation

登录SSH后,进入网站的shell目录:

关闭编译,清理缓存。

cd shell

php -f compiler.php disable

cd ..

rm –rf var/cache/*

开启编译

php -f compiler.php compile

查看编译状态

php -f compiler.php state

查看使用compiler.php的方法

$php -f compiler.php help
Usage: php -f compiler.php — [options]
  state Show Compilation State
  compile Run Compilation Process
clear Disable Compiler include path and Remove compiled files
  enable Enable Compiler include path
  disable Disable Compiler include path
  help This help

这里有篇文章更为详细介绍Compilation的原理的,点这里

 

还有一个问题,开启预编译(Compilation)后,后台插件管理(Magento Connect Manager)不能访问:

解决方法: 把 /downloader/pearlib/php 文件夹拷贝到 /includes/downloader/pearlib/php/,问题解决。

又一问题,开启编译后,如果后面又要装其它的扩展,就要先把Compilation关闭后再装,不然也是会访问不了。这时再按上面的方法关闭编译即可。


5条回应:“Magento速度优化 开启Compilation”

  1. 有些时候,开启Compilation后会有一些意想不到的错误,这里收集一下各种错误的处理方法。总的来讲,关闭Compilation就行。不过有些错误是连后台都进不到,这里列一下用其它的方法关闭Compilation功能。