云服务器

首页 > 网站运行/故障 > opencart网站数据库oc_session表很大,是否可以清空?

opencart网站数据库oc_session表很大,是否可以清空?

opencart网站运行一段时间后,网站变的很慢,原来是因为oc_session表变大导致,表内数据有上百万条,每次访问的时候都会执行一次这个表,导致网站速度变慢,oc_session表的作用是记录cookie,比如用户登录信息,随时间会越来越大,要是被黑客扫描尝试登录后台会突然变的很大。

Session与cookie功能相同,区别在于Session是记录在服务器端的,而Cookie是记录在客户端的。当访问服务器上网页的时候,会在服务器端的内存里开辟一块内存,这块内存就叫做session,而这个内存是跟浏览器关联在一起的。这个浏览器指的是浏览器窗口,或者是浏览器的子窗口,意思就是,只允许当前这个session对应的浏览器访问,就算是在同一个机器上新启的浏览器也是无法访问的。而另外一个浏览器也需要记录session的话,就会再启一个属于自己的session。查阅不同opencart版本发现,在3.0以下的版本中, opencart的session 是以cookie的形式记录在本地浏览器里,3.0及以上的版本会把设置的session放在cookie里,并同时记录在数据库表oc_session里(执行代码查看system\library\session\db.php文件),这样oc_session表会变的越来越大,网站速度越来越慢。

解决方法:

定期进入phpmyadmin数据库管理中清空该表内数据即可,放心清空,不会影响网站正常使用。如不放心可先备份数据库后在清空。

图片描述

发表回复