首頁 繪圖設計 工作閒聊 比賽活動 美術討論 標籤 圖片
[MOD] 修理 Critical Error: 流量過大問題
[MOD] 修理 Critical Error: 流量過大問題


Type(Type) 2003/7/5 00:10
因為流量過大而記憶體過小,出現 Heap Tables 滿了,
新的 Sessions 無法塞入的問題。
(參考附件圖片)

參考 PHPBB 論壇上的解決方式
原理就是不管 mySql 的 default 限制,
1. 遇到滿時,強制擴大 Heap 大小 50 筆 Max Rows,
2. 當最大也滿了時,則刪除 50 筆 Sessions。


解決了! 😈

=====================================
$error = TRUE;
if (SQL_LAYER == "mysql" || SQL_LAYER == "mysql4")
{
$sql_error = $db->sql_error($result);
if ($sql_error["code"] == 1114)
{
$result = $db->sql_query('SHOW TABLE STATUS LIKE "'.SESSIONS_TABLE.'"');
$row = $db->sql_fetchrow($result);
if ($row["Type"] == "HEAP")
{
if ($row["Rows"] > 2500)
{
$delete_order = (SQL_LAYER=="mysql4") ? " ORDER BY session_time ASC" : "";
$db->sql_query("DELETE QUICK FROM ".SESSIONS_TABLE."$delete_order LIMIT 50");
}
else
{
$db->sql_query("ALTER TABLE ".SESSIONS_TABLE." MAX_ROWS=".($row["Rows"]+50));
}
if ($db->sql_query($sql))
{
$error = FALSE;
}
}
}
}
if ($error)
{
message_die(CRITICAL_ERROR, "Error creating new session", "", __LINE__, __FILE__, $sql);
}
=====================================
訪客(Anonymous) 2004/3/27 02:19
請問這個要加在那裡啊@@
Type(Type) 2004/3/28 18:58
很久以前的事,印象中應該是
改 includes/sessions.php

把限制改掉就可,在 150 行附近
供您參考。

Type, 2004/03/28
(9,922 views)
[更多討論] 站務討論

"[MOD] 修理 Critical Error: 流量過大問題" 傳統頁面(電腦版)

首頁 繪圖設計 工作閒聊 比賽活動 美術討論 標籤 圖片
傳統桌面版 [ 登入/註冊 ]
© Vovo2000.com Mobile Version 小哈手機版 2024