![PikPak安卓最新版APP v1.46.2_免费会员兑换邀请码【508001】可替代115网盘_全平台支持Windows和苹果iOS&Mac_ipad_iphone -云主机博士 第1张 PikPak安卓最新版APP v1.46.2_免费会员兑换邀请码【508001】可替代115网盘_全平台支持Windows和苹果iOS&Mac_ipad_iphone -云主机博士 第1张](https://www.yunzhujiboshi.com/zb_users/upload/2022/06/202206281656381457152123.png)
ECSHOP处理ecs_stats表空间过大的处理方法(自动删除访问统计) -云主机博士
![PikPak安卓最新版APP v1.46.2_免费会员兑换邀请码【508001】可替代115网盘_全平台支持Windows和苹果iOS&Mac_ipad_iphone -云主机博士 第1张 PikPak安卓最新版APP v1.46.2_免费会员兑换邀请码【508001】可替代115网盘_全平台支持Windows和苹果iOS&Mac_ipad_iphone -云主机博士 第1张](https://www.yunzhujiboshi.com/zb_users/upload/2022/06/202206281656381457152123.png)
ECSHOP开启站点访问统计后,随着时间的推移,访问记录表stats越来越大,直到空间爆满,网站瘫痪。ECSHOP的计划任务“浏览日志删除”需开 启“是否开启命令行调用计划任务”,不少朋友使用国内虚拟主机,虚拟主机对函数限制过多,计划任务形同摆设。本文讲解如何按系统设定自动删除访问统计,减少stats表的负载。
一、修改数据库,加入删除访问统计的时间配置的字段值”ipdel”
UPDATE ecs_shop_config SET sort_order = 2 WHERE code = "visit_stats"; INSERT INTO ecs_shop_config (id, parent_id, code, type, store_range, store_dir, value, sort_order) VALUES (247, 2, 'ipdel', 'select', '0,1,2,3,4,5', '', '0', 2);
二、/languages/zh_cn/admin/shop_config.php中添加
$_LANG['cfg_name']['ipdel']= '自动删除访问统计'; $_LANG['cfg_range']['ipdel']['0'] = '永不删除'; $_LANG['cfg_range']['ipdel']['1'] = '7天前'; $_LANG['cfg_range']['ipdel']['2'] = '30天前'; $_LANG['cfg_range']['ipdel']['3'] = '90天前'; $_LANG['cfg_range']['ipdel']['4'] = '180天前'; $_LANG['cfg_range']['ipdel']['5'] = '360天前'; $_LANG['cfg_desc']['ipdel'] = '由前台用户触发,“站点访问统计”设为开启时才可使用此功能。';
三、/includes/lib_main.php中访问统计信息函数function visit_stats()结束前添加
/* 按系统设定删除访问统计 */ ipdel_day = 0; switch (ipdel d ay=0;switch(GLOBALS['_CFG']['ipdel']) { case '0': // 永不删除 ipdel_day = 0; break; case '1': // 7天前ipdel d ay=0;break;case ′ 1 ′ ://7天前ipdel_day = 7; break; case '2': // 30天前 ipdel_day = 30; break; case '3': // 90天前ipdel d ay=30;break;case ′ 3 ′ ://90天前ipdel_day = 90; break; case '4': // 180天前 ipdel_day = 180; break; case '5': // 360天前ipdel d ay=180;break;case ′ 5 ′ ://360天前ipdel_day = 360; break; } if(ParseError: KaTeX parse error: Expected '}', got 'EOF' at end of input: ipdel_day) {deltime = gmtime() - ipdel_day * 3600 * 24;ipdel d ay∗3600∗24;ipdel_sql = "DELETE FROM " . ecs->table('stats') . "WHERE access_time<'ecs−>table( ′ stats ′ )."WHEREaccess t ime< ′ deltime'"; db->query(db−>query(ipdel_sql); } else { return; }
取消这个插件,数据库写法是这样:
delete from ecs_shop_config where code="ipdel";
"ecs_"是表前缀。
下面是两种解决ecs_stats数据库表大的办法:
一、直接关闭:网站后台--系统设置--商店设置--基本设置--站点访问统计:关
二、备份前删除表记录:
delete from ecs_stats;
![iproyal.png iproyal.png](https://pawns.iproyal.com/img/b/728.jpg)
原文链接:ECSHOP处理ecs_stats表空间过大的处理方法(自动删除访问统计) -云主机博士,转发请注明来源!
「ECSHOP处理ecs_stats表空间过大的处理方法(自动删除访问统计) -云主机博士」评论列表