© 2002-2018  最模板 zuimoban.com 版权所有,并保留所有权利。
   ecshop模板网,专注ecshop模板制作、ecshop二次开发服务!
     
 文章详情
	ECSHOP开启站点访问统计后,随着时间的推移,访问记录表stats越来越大,直到空间爆满,网站瘫痪。ECSHOP的计划任务“浏览日志删除”需开 启“是否开启命令行调用计划任务”,不少朋友使用国内虚拟主机,虚拟主机对函数限制过多,计划任务形同摆设。本文讲解如何按系统设定自动删除访问统计,减少stats表的负载。
 
| 
						 
								1
							 
							
								2
							 
							
								3
							 
						 | 
					
						 
								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);
							 
						 | 
				
| 
						 
								1
							 
							
								2
							 
							
								3
							 
							
								4
							 
							
								5
							 
							
								6
							 
							
								7
							 
							
								8
							 
						 | 
					
						 
								$_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'] = '由前台用户触发,“站点访问统计”设为开启时才可使用此功能。';
							 
						 | 
				
| 
						 
								1
							 
							
								2
							 
							
								3
							 
							
								4
							 
							
								5
							 
							
								6
							 
							
								7
							 
							
								8
							 
							
								9
							 
							
								10
							 
							
								11
							 
							
								12
							 
							
								13
							 
							
								14
							 
							
								15
							 
							
								16
							 
							
								17
							 
							
								18
							 
							
								19
							 
							
								20
							 
							
								21
							 
							
								22
							 
							
								23
							 
							
								24
							 
							
								25
							 
							
								26
							 
							
								27
							 
							
								28
							 
							
								29
							 
							
								30
							 
							
								31
							 
							
								32
							 
							
								33
							 
							
								34
							 
						 | 
					
						 
								/* 按系统设定删除访问统计 */
							 
							
								$ipdel_day = 0;
							 
							
								switch ($GLOBALS['_CFG']['ipdel'])
							 
							
								{
							 
							
								case '0': // 永不删除
							 
							
								$ipdel_day = 0;
							 
							
								break;
							 
							
								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;
							 
							
								}
							 
						 | 
				
取消这个插件,数据库写法是这样:
| 
						 
								1
							 
						 | 
					
						 
								delete from ecs_shop_config where code="ipdel";
							 
						 | 
				
"ecs_"是表前缀。
	下面是两种解决ecs_stats数据库表大的办法:
一、直接关闭:网站后台--系统设置--商店设置--基本设置--站点访问统计:关
二、备份前删除表记录:
| 
						 
								1
							 
						 | 
					
						 
								delete from ecs_stats;
							 
						 |