自动删除ECSHOP访问统计数据插件
2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家
| ECSHOP开启站点访问统计后,随着时间的推移,访问记录表stats越来越大,直到空间爆满,网站瘫痪。ECSHOP的计划任务“浏览日志删除”需开 启“是否开启命令行调用计划任务”,不少朋友使用国内虚拟主机,虚拟主机对函数限制过多,计划任务形同摆设。本文讲解如何按系统设定自动删除访问统计,减 少stats表的负载。 我们先看看这个表的数据占用: 
 发现占用了将近 40M 。这个数看起来是挺小的,但是用在数据里面就是比较大的了,以下是后台完成样式: 
	 
	首先我们需要在配置项增加一条数据代码如下,后台SQL查询执行即可: 
	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', 'sel ect', '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 ($GLOBALS['_CFG']['ipdel']) 
	{ 
	case '0': // 永不删除 
	$ipdel_day = 0; 
	break;//www.zuimoban.com 
	case '1': // 7天前 
	$ipdel_day = 7; 
	break; 
	case '2': // 30天前 
	$ipdel_day = 30; 
	break; 
	case '3': // 90天前 
	$ipdel_day = 90; 
	break; 
	case '4': // 180天前 
	$ipdel_day = 180; 
	break; 
	case '5': // 360天前 
	$ipdel_day = 360; 
	break; 
	} 
	if($ipdel_day) 
	{ 
	$deltime = gmtime() - $ipdel_day * 3600 * 24; 
	$ipdel_sql = "DELETE FROM " . $ecs->table('stats') . 
	"WHERE access_time < '$deltime'"; 
	$db->query($ipdel_sql); 
	} 
	else 
	{ 
	return; 
	} 
	通过以上步骤,这个插件就算是完成好了。如果你需要取消这个插件只需要在后台SQL查询执行如下代码: 
	delete from ecs_shop_config where code="ipdel";  
	另外两个可以防止这个数据表变大的方法: 
	下面是两种解决ecs_stats数据库表大的办法: 
	一、直接关闭:网站后台–系统设置–商店设置–基本设置–站点访问统计:关 
	二、备份前删除表记录: 执行如下SQL查询代码 
	delete from ecs_stats;  | 
最近更新
常用插件
- ecshop2.7.1邮件发送插件
                                  ecshop2.7.1邮件发送插件:该插件主要的开发思想是源于ecshop短信发送系统... 
- ecshop最小购买数量控制插
                                  ecshop最小购买数量控制插件,这个插件主要是为我们提供一个十分方便... 
- ecshop2.7.2生成虚拟订单2.
                                  以前我们开发过ecshop下的虚拟订单,就是客户在访问的时候,会自动生... 
- ecshop没登陆情况下订单查
                                  ecshop没登陆情况下订单查询插件,主要是针对ecshop在没有登陆的情况下... 
- ecshop二次开发商品购买增
                                  图片1香... 



