
在后台点击停用和删除,只移走了代码文件,但是数据一般都会保留在数据库中。如果残留物积累过多,那么数据库就会变得臃肿不堪,后台菜单会出现死链,和新安装的插件表名也会发生冲突。
清理分为四个部分。第一部分是数据库表,列出带有插件标识前缀的表,检查表中的数据是否还有保留价值,需要日后使用的先导出存档再删除;第二部分是配置项,后台选项表和页面配置中经常有插件写入的键值,按照前缀检索后逐条核对删除;第三部分是上传目录,缓存文件、日志以及生成的图片所占用的空间经常被忽视;第四部分是计划任务与定时钩子,卸载不彻底的残留任务会一直报错。
操作的前提是备份。删除数据表是不可逆的,在删除之前要完整地备份好数据库,删除语句一条一条地执行,观察站点的状态,防止批量删除同名的在用表。
长期的做法就是控制数量。在装插件之前要先确定是否可以利用程序自带的功能或者一次开发来代替,数量减少之后,后面清理的成本和维护的风险也会随之降低。
清理完毕后再次检查三个地方:后台菜单没有死链、定时任务列表没有报错、网站大小和数据库行数下降。残留的数据一般不影响功能,在几个月之后才会以备份体积增大或者表名冲突的方式表现出来。