首页 > php > thinkphp3.2关闭debug无法正常运行的解决方法汇总
2020
06-05

thinkphp3.2关闭debug无法正常运行的解决方法汇总

背景

有一个老项目一直使用的是ThinkPHP3.2的框架,发现线上部署的一直是DEBUG模式,但是debug模式下性能比较差,尝试关闭debug模式,发现有些页面却出现了错误,现在汇总一下可能的原因和解决方案

define('APP_DEBUG', false); //关闭debug模式

原理

关闭APP_DEBUG之后他会在Runtime生成一个common~runtime.php的文件,如果发现有问题,可以先删除这个文件,让他重新生成,或者把这个文件copy出来格式化,找找具体报错的原因


开启数据库字段缓存,可以大量减少数据库压力,修改数据库表结构需要删除该缓存

'DB_FIELDS_CACHE'       =>  true,        // 启用字段缓存


一旦关闭调试模式,发生错误后不会提示具体的错误信息,如果你仍然希望看到具体的错误信息,那么可以如下设置:

'SHOW_ERROR_MSG'        =>  true,    // 显示错误信息


调试模式的优势

    1. 开启日志记录,任何错误信息和调试信息都会详细记录,便于调试;

    2. 关闭模板缓存,模板修改可以即时生效;

    3. 记录SQL日志,方便分析SQL;

    4. 关闭字段缓存,数据表字段修改不受缓存影响;

    5. 严格检查文件大小写(即使是Windows平台),帮助你提前发现Linux部署可能导致的隐患问题;

    6. 通过页面Trace功能更好的调试和发现错误;

问题一:

部署模式下common/common/function.php文件中使用了 相对路径包含其他文件,这个不支持,必须改为:

require_once APP_PATH.'Common/Common/Base.php';
……
require_once APP_PATH.'Common/Common/Other.php';

原来是

require_once 'Base.php';
……
require_once 'Other.php';


问题二:

CONTROLLER 结果变了

原来url对应关系:
/XZ/GongGaoController.php => /XZ/GongGao

关闭Debug后对应关系:
/XZ/GongGaoController.php => /xz/gong_gao

关闭大小写

'URL_CASE_INSENSITIVE'=>false,


其他问题再补充...


本文》有 0 条评论

留下一个回复