經過一個上午的查詢資料,我發現了別人忽略的一個地方,在includes文件下有一個叫lib_base.php的文件,裏面存着這樣的兩個函數
函數一:
read_static_cache()
/**
* 讀結果緩存文件
*
* @params string $cache_name
*
* @return array $data
*/
function read_static_cache($cache_name)
{
if ((DEBUG_MODE & 2) == 2)
{
return false;
}
static $result = array();
if (!emptyempty($result[$cache_name]))
{
return $result[$cache_name];
}
$cache_file_path = ROOT_PATH . ’/temp/static_caches/’ . $cache_name . ’.php’;
if (file_exists($cache_file_path))
{
include_once($cache_file_path);
$result[$cache_name] = $data;
return $result[$cache_name];
}
else
{
return false;
}
}
另一個函數
write_static_cache()
/**
* 寫結果緩存文件
*
* @params string $cache_name
* @params string $caches
*
* @return
*/
function write_static_cache($cache_name, $caches)
{
if ((DEBUG_MODE & 2) == 2)
{
return false;
}
$cache_file_path = ROOT_PATH . ’/temp/static_caches/’ . $cache_name . ’.php’;
$content = ”<?php\r\n”;
$content .= ”\$data = ” . var_export($caches, true) . ”;\r\n”;
$content .= ”?>”;
file_put_contents($cache_file_path, $content, LOCK_EX);
}
這兩個函數就是控制讀出和寫入緩存的,在各個頁面中都有被用到。而從上面的錯誤信息分析來看,只有不讓它寫入到temp文件夾下就能解決問題,也就是緩存的屏蔽,將這兩個函數,在第一個 if 前面加上
-
return false;
直接屏蔽掉功能,這樣改過之後,(測試之前應該刪除原有的除index.htm以 外的文件,然後通過反覆訪問進行測試緩存的寫入)我測試了一下,temp/static_caches/文件夾下不再寫入緩存文件了,只保留有 index.htm,也就是不會再出現剛開始的那種錯誤了,因爲寫入和讀出都被屏蔽了。最直接是頁面的錯誤消失了,網站恢復了正常,讓人感到欣慰
如果以上都解決不了,你不妨查看一下,是否你的空間滿了,很多人曾經遇到過這樣的問題!