第一種錯誤:
- MySQLservererrorreport:Array([0]=>Array([message]=>MySQLQueryError)[1]=>Array([sql]=>INSERTINTO`test`.`ecs_sessions`(sesskey,expiry,ip,data)VALUES('8a3107988bf98cc9a5079fdfbe766120','1278128679','127.0.0.1','a:0:{}'))[2]=>Array([error]=>Table'test.ecs_sessions'doesn'texist)[3]=>Array([errno]=>1146))
第二種錯誤:
- MySQLservererrorreport:Array([0]=>Array([message]=>MySQLQueryError)[1]=>Array([sql]=>INSERTINTO`cc`.`ecs_sessions`(sesskey,expiry,ip,data)VALUES('4b5c9bb5f23d7a1cebd1c1f4ad6682ee','1270728928','218.74.203.161','a:0:{}'))[2]=>Array([error]=>Thetable'ecs_sessions'isfull)[3]=>Array([errno]=>1114))
提示The table 'ecs_sessions' is full
打開ecs_sessions表發現里面的數據有好幾十頁(每頁1000)。那怪會提示滿了!但是很奇怪,為什么會存在這么多的數據在里面呢。不可能一天有這么多人在訪問! 網站運行了好幾個月了,沒出現這種問題!這個表是ecshop模擬session存儲臨時信息用。分析cls_session.php文件,發現自己將session過期日期寫的好大,而最近網站的訪問量持續增大,造成舊的數據不能及時的清除造成的。將過期時間縮短到一定時間,這個時間根據具體情況而定了。
以上兩種情況的解決辦法:
1、直接清空session表
可以到后臺 數據庫管理-sql 查詢里執行這個語句
- deletefromecs_sessions
清理完緩存就發現不會報錯了或者登錄phpmyadmin 清空 ecs_sessions 表
2、同時可以設置一下session的失效時間
打開Includes下cls_session.php
修改過期時間,數值改小就可以了
var $max_life_time = 1000; // SESSION 過期時間
|
新聞熱點
疑難解答