思維需要被打開

2016-08-17 23:34:55

這篇文章講的是我這兩天來對閱讀讀書的診治過程——主要是解決閱讀讀書(wordpress)突然變慢的原因。

起因:

閱讀這兩天出現瞭很多的異常情況,就我這邊的訪問情況來看,打開首頁或文章頁面非常慢,一個頁面要30秒的時間,還不時出現500 internal server error(HTTP 500 – 內部服務器錯誤)。不知是大傢已經習慣瞭網站異常還是真的可以忍受這麼慢的打開速度,閱讀讀書的訪問量並沒有減少,也很少有朋友向我反應,但我真的受不瞭,一定有什麼東西不對勁,我必須發揚方法總比問題多的精神,把這件事情處理好。

過程:

起初,我以為(這個以為隻是胡思亂想)是我的計算機瀏覽器有問題,但我發現我在後臺編輯文章和評論時速度卻非常快,這怎麼可能呢?根據回憶(我必須回想我最近修改瞭些什麼,事情不會無緣無故發生),我前段時間嘗試瞭disinfeqt的建議 安裝瞭Autoptimize這個插件,安裝後一切正常,再配上我原來的WP Super Cache插件,速度明顯提升。會不會是成也蕭何,敗也蕭何呢?

我 首先停用瞭Autoptimize這個插件,刪除瞭一些相關文件(看到後面,你會知道,問題就出在這裡),結果依然;然後我想,可能是WP Super Cache出瞭問題,就修改的它的一些設置,甚至反復停用啟用這個插件來測試結果,依然沒有絲毫的改善。這個過程是痛苦的,它很消耗時間和精力,看著這個 博客,就像看著自己的孩子生瞭病卻找不到對癥的藥一樣,這時,就連神通廣大的google和baidu這樣的大夫也束手無策。

接下來我把註意力轉到瞭服務器(不是有500錯誤嗎?),打開cPanel面板,重新設置瞭所有可能的選項,尤其是裡面的Ezconfig中的選項(我早先動過這裡,默認時是不啟用的),也停用過——可情況依然,我幾乎快要崩潰瞭,就差要跟管理員聯系瞭,但我也知道就算聯系瞭,他也不一定能幫得上忙,因為問題隻有自己最清楚。

我知道,我能做的都已經做瞭,時間已經過去1天半瞭,難道隻剩下重新安裝wordpress這個殺手鐧瞭嗎?實在不甘心啊,而且問題沒有解決,再次遇到瞭還是會束手無策啊!angel說:“也許你應該把問題先放一放,好好休息一下,從其他的角度去尋找原因。”

我 靜下心來,我想我已經把wordpress恢復到原始狀態瞭,速度還是很慢,我必須研究一下wordpress是怎麼工作的。我們訪問首頁時,是打開網站 根目錄下的index.php,它引導我們訪問require('./wp-blog-header.php');,打開wp-blog- header.php發現這個文件多瞭個ob_start();eval(base64_decode(……));這樣的函數,我不知道這是什麼,通過和 原始程序比較,發現這是多出來的,可我不能確定問題就出在這裡,但我還是試著把這一段代碼刪瞭,結果首頁出現瞭500錯誤。我又想,既然出現錯誤,總會留 下痕跡,wordpress不是有個error_log嗎?打開它,研究一下,發現前面有很多的PHP Warning,主要是出在一個public_html/wp-includes/class-cache.php()的文件裡,我發現這個文件在原始程 序裡是沒有的,應該是安裝插件的時候加產生的,裡面也是一大段的eval(base64_decode(……));函數,所以我刪瞭class- cache.php()這個文件,奇跡出現瞭,首頁打開的速度非常快,但我還必須啟用WP Super Cache這個插件,為瞭保險,我刪除瞭原來的插件程序,清空瞭所有緩存,重新上傳一個最新版的WP Super Cache,啟用,設置,找開首頁,久違的速度啊,隻用瞭0.670秒。到這裡,我的心才真正放松一下。

結論:

這次的問題很簡單,卻很容易陷入死胡同,因為我們的思維常常會被很多的想當然所限制。

    wordpress的穩定比什麼都重要,所以安裝插件和升級插件之前先考慮清楚,最好是能做好修改的記錄,便以日後追蹤;我們期望每一次的改進都能給我們帶來進步,但要給自己留好後路,比如做好重要數據的備份;當一個問題很普遍時,隱藏在背後的原因就越多,越難以捉摸,因為一切皆有可能;解決問題的方法不能隻有一個方向,如果這邊走不通,應該試著打開思維,從另一個角度去想;當所有的辦法都失效時,除瞭破釜沉舟之外,可以試著從根本出發,剝絲抽繭,也許會有所發現;當用google和baidu搜索的時候,別期望每次都有誰會給你一個非常滿意的答案,你可能隻能得到一些線索,那麼別忽視這些東西,它們很可能是解決問題的一些提示。