ecshop代码修改后提交,无法立即生效

今天帮一朋友部署一网站。成品的ecshop模版站。在搭建好xammp集成环境,导入数据库,修改配置文件后,报了一大堆错。

其中第一个是关于废弃preg_replace中/e这种用法的,因为存在漏洞,一句话木马喜欢用这个。于是我按提示替换成了preg_replace_callback之后,保存,结果还是一样,php文件更新无效。昨天刚解决过类似问题,问题的根源在于opcache,于是也照猫画虎去修改了php.ini的opcache,这个xammp是没开启。

找到php.ini文件(我的在/usr/local/php/etc目录下),查看opcache是否启用,把选项opcache.enable前的分号去掉,那么将关闭opcache性能加速功能。这个方法不管用。

[Zend Opcache] zend_extension=opcache.so

opcache.memory_consumption=128

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=4000

opcache.revalidate_freq=60

opcache.fast_shutdown=1

opcache.enable_cli=1 ;

opcache end ;

xcache ;

xcache end

改了不管用。不过昨天是linux环境,今天是windows环境,以上的配置也是针对linux环境的。

刚试了下更改ecshop的缓存配置,妈蛋,生效了。搞半天是程序问题。不是php也不是apache的问题。晕菜。摘录如下:

最近做ecshop的二次开发,代码中有错误,但是系统却又没报错信息,直接扔给我们一个空白页面,这种情况下,我们就需要开启ecshop的调试模式。开启ecshop的调试模式,对于ecshop二次开发人员特别重要,下面是设置ecshop的调试模式。

操作如下:

打开“/data/config.php”,添加一下代码:

define('DEBUG_MODE', 0);

参数说明:

0 // 禁用调试模式

1 // 显示所有错误

2 // 禁用smarty缓存

4 // 使用include/lib.debug.php文件

8 // 记录查询的SQL“includes/cls_mysql.php query()”到“data/mysql_query_hash_Y_M_D.log”。

例子:

1、define(‘DEBUG_MODE’, 3); // 3=1+2,显示错误、禁用ECShop缓存

2、define(‘DEBUG_MODE’, 7); // 7=1+2+3,显示错误、禁用ECShop缓存、调用lib.debug.php

改成define(‘DEBUG_MODE’, 7); 好了。

原文地址:https://www.cnblogs.com/jiangtian/p/8308624.html