magento -- 修改文件来手动控制编译的开启和关闭

简介:

之前遇到一个情况,在编译开启的状态下安装了一个新插件,结果前后台都不能访问了,这时想去找找是哪里在控制编译的开启和关闭,先把编译关了来保证系统不报错。按照一般的习惯后台数据或配置都是存在于数据库,但找遍数据库也没发现跟编译有关的数据。因为编译的结果是在/includes/src目录下生产很多文件,去includes文件夹时发现了config.php文件,从命名就可以看出这是一个做配置的文件,经过拿一个本地测试项目做实验,证实了编译的开启与否并不是存在数据库,而是在修改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'); 

当然,后台关闭后第一句又会回到注释状态,表示当前编译不启用。

 

回到一开始的问题,现在后台不能访问,也就是不能通过后台来关闭编译,这时我们手动修改config.php文件,将第一句注释,然后刷新页面,会发现已经不再报错,后台也可以进入,进入后可以看到当前确实是编译关闭状态,重写启动编译后,将插件的文件也一起编译,系统不再报错了。

PS:其实不考虑编译到底怎么在运行,还有另一种简单的方法可以处理这个问题,进入/app/etc/modules文件夹,找到新安装插件所对应的xml文件,把状态由true改成false,不启用这个插件,前后台都可以访问了,然后重写启动编译,将文件编译完之后再进xml文件改回true启用插件,问题解决。

再PS:如果在使用编译这个功能,安装新插件时记得先禁用编译,以避免不必要的麻烦。

 

目录
相关文章
|
6月前
|
应用服务中间件 Shell 开发工具
nginx+shell脚本实现一键启用与关闭停机维护页面
nginx+shell脚本实现一键启用与关闭停机维护页面
122 0
|
6月前
|
开发工具 git
修改GitLab项目文件路径重新刷新配置报错问题原因及解决方案
修改GitLab项目文件路径重新刷新配置报错问题原因及解决方案
275 0
|
Windows
安装依赖出现: 无法加载文件,因为在此系统上禁止运行脚本
安装依赖出现: 无法加载文件,因为在此系统上禁止运行脚本
|
PHP 数据库 开发者
解决Thinkphp框架应用目录下数据库配置信息修改后依然按默认方式连接
背景:这一类问题,我碰到了两次,虽然是php开发者,但是很多东西要不是工作接触代码太多,可能都没发现。。。在修改了application下的database.php后依然报错 而我的数据库配置database.php是这样的: 【黑人问号】于是解决办法:修改后测试运行是否正常: 正常运行,完结撒花!...
137 0
解决Thinkphp框架应用目录下数据库配置信息修改后依然按默认方式连接
|
jenkins 持续交付
修改jenkins启动的默认用户
# 背景 通过yum命令安装的jenkins,通过service jenkins去启动jenkins的话,默认的用户是jenkins,但jenkins这个用户是无法通过su切换过去的 ,在某些环节可能产生问题,期望修改默认启动用户 # 过程 1.
1762 0
|
应用服务中间件 nginx