zoukankan      html  css  js  c++  java
  • magento -- 修改文件来手动控制编译的开启和关闭

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

    1. #define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');  
    2. #define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat');  

    两句都是注释的状态,在后台开启编译后,第一句会启用,不再注释,

    1. define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');  
    2. #define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat');  

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

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

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

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

  • 相关阅读:
    Redis常见的应用场景解析
    技术知识和稳定的系统之间,可能还差这些?
    学会数据库读写分离、分表分库——用Mycat,这一篇就够了!
    程序员也是弱势群体?——从WePhone开发者事件说起
    系统日志管理那点事
    我的Markdown的利器——Markdown Here、有道云笔记、iPic
    推荐几本产品类的书
    华为云的API调用实践(python版本)
    阿里云 API调用实践(python语言)
    HA总结:AWS 网络连接
  • 原文地址:https://www.cnblogs.com/jevil/p/3318589.html
Copyright © 2011-2022 走看看