網頁制作文章簡介:我這裡提供的插件修改可以監控你的WordPress的MySQL狀況,一旦發現MySQL數據庫無法連接,就會發送一封郵件到指定的信箱,同時在一個文本文件中進行記錄,你可以通過查看日志來分析MySQL數據庫的監視和運行情況是否良好,並且在異常情況出現的時候能立即就知道,以便聯系
對於某些國外主機,其HTTP服務可能比較穩定,但是MySQL服務卻經常宕機,比如我的英文博客使用的DreamHost提供的MySQL就深受其害,經常無法連接MySQL服務器,並且通常都是美國時間午夜的時候宕機,有時候能停好幾個小時,也難怪那麼多人抱怨DreamHost的服務器不穩定。
我這裡提供的插件修改可以監控你的WordPress的MySQL狀況,一旦發現MySQL數據庫無法連接,就會發送一封郵件到指定的信箱,同時在一個文本文件中進行記錄,你可以通過查看日志來分析MySQL數據庫的監視和運行情況是否良好,並且在異常情況出現的時候能立即就知道,以便聯系主機服務人員維護。
運行之後,我這裡記錄DreamHost的MySQL數據庫幾個小時就能出現四百多次異常報道,看來DreamHost的服務器真的是很垃圾啊。
廢話就不多說了,下面是安裝和設置的詳細方法:
首先建立一個名為log.txt的文件,上傳到WordPress的根目錄,將其權限設置為666(FlashFXP又修改文件權限的功能)。
然後修改下面代碼,將發信人$from和收信人$to的郵件地址設置為個人信箱。
以下為引用的內容:
// Change the e-mail address below .
$from = "[email protected]";
$to = "[email protected]";
$subject = "MySQL Crashed!";
$body = date("Y-m-d H:i:s");
$headers = 'From: '.$from . "\r\n"
.'Reply-To: '.$from . "\r\n"
.'X-Mailer: PHP/' . PHPversion();
mail($to, $subject, $body, $headers);
// Log to file
$filename = 'log.txt';
$somecontent = date("Y-m-d H:i:s");
$somecontent = $somecontent . "\r\n";
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'a')) {
exit;
}
if (!fwrite($handle, $somecontent)) {
exit;
}
fclose($handle);
}
之後,打開wp-includes/wp-db.PHP文件,找到“if (!$this->dbh) {”這一行(對於WordPress 2.3.1是66行),讓上面的代碼插入在這行的後面。
上傳並覆蓋這個文件。
之後每當數據庫連接出現問題後,WordPress就都會自動發送郵件到你的信箱,同時將時間記錄在log.txt文件之中。當我們選擇支持MySQL的虛擬主機的時候,也可以使用這個程序來測試服務器的穩定性。