前段時間我曾經介紹了一個WordPress的靜態化插件:cos-html-cache,這個插件對於系統的性能有很大的提高,不過在使用的過程中,我發現這個插件有一點小小的瑕疵需要修改,否則對於某些MySQL不穩定的服務器會出現一些錯誤信息寫入最終HTML文件。
對於我在DreamHost上使用這個插件,我發現在某些隨機時候,顯示文章時系統並不能正常調用MySQL查詢,MYSQL會返回一個分配內存錯誤的信息,通常情況下刷新一下就會正常,但是cos-html-cache卻將生成的錯誤信息也生成了html文件替換了正確的文章地址,這使得啟用這個插件後,一旦MySQL查詢錯誤就不會生成正確的文件內容。
修改的方法很簡單,就是在寫HTML文件的時候進行一下判斷,判斷文件正確才寫HTML文件,修改方法是:
打開2.3版本的cos-html -cache.php文件,找到第81行的$fp = @fopen( $path , "w+" )語句,在其前面增加下面兩行:
if ( !strstr ( $Content, '</html>' ) )
return;
上面的“</html>&rdquo ;可替換為博客底部的一些特徵字符串,如版權信息,以用來判斷MySQL查詢是否是出錯的。
文章轉載月光博客