ecshop 表報(bào)錯(cuò)的解決辦法
2016-06-21 06:19:38
13037
第一種錯(cuò)誤:
MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => INSERT INTO `test`.`ecs_sessions` (sesskey, expiry, ip, data) VALUES (
'8a3107988bf98cc9a5079fdfbe766120'
,
'1278128679'
,
'127.0.0.1'
,
'a:0:{}'
) ) [2] => Array ( [error] => Table
'test.ecs_sessions'
doesn't exist ) [3] => Array ( [errno] => 1146 ) )
第二種錯(cuò)誤:
MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => INSERT INTO `cc`.`ecs_sessions` (sesskey, expiry, ip, data) VALUES (
'4b5c9bb5f23d7a1cebd1c1f4ad6682ee'
,
'1270728928'
,
'218.74.203.161'
,
'a:0:{}'
) ) [2] => Array ( [error] => The table
'ecs_sessions'
is full ) [3] => Array ( [errno] => 1114 ) )
提示The table 'ecs_sessions' is full
打開ecs_sessions表發(fā)現(xiàn)里面的數(shù)據(jù)有好幾十頁(每頁1000)。那怪會(huì)提示滿了!但是很奇怪,為什么會(huì)存在這么多的數(shù)據(jù)在里面呢。不可能一天有這么多人在訪問! 網(wǎng)站運(yùn)行了好幾個(gè)月了,沒出現(xiàn)這種問題!這個(gè)表是ecshop模擬session存儲(chǔ)臨?信息用。分析cls_session.php文件,發(fā)現(xiàn)自己將session過期日期寫的好大?而最近網(wǎng)站的訪問量持續(xù)增大,造成舊的數(shù)據(jù)不能及時(shí)的清除造成的。將過期時(shí)間縮短到一定時(shí)間,這個(gè)時(shí)間根據(jù)具體情況而定了。
以上兩種情況的解決辦法:
1、直接清空session表
可以到后臺(tái) 數(shù)據(jù)庫管理-sql 查詢里執(zhí)行這個(gè)語句
1 | delete from ecs_sessions
|
或者登錄賣空間網(wǎng)站的phpmyadmin 清空 ecs_sessions 表
清理完緩存就發(fā)現(xiàn)不會(huì)報(bào)錯(cuò)了
2、同時(shí)可以設(shè)置一下session的失效時(shí)間
打開Includes下cls_session.php
修改過期時(shí)間,數(shù)值改小就可以了
var $max_life_time = 1000; // SESSION 過期時(shí)間