当前位置: 首页 > 图文教程 > 网页制作 > CMS技巧 > WordPress的MySQL连接出错监测方法

CMS技巧
建站经验:适合SEO的开源CMS
ShopEx最新的4.8.5版最新功能揭秘
CMS是什么?认识CMS
2009年世界上最好的PHP开源CMS
Discuz!7.1通过WAP发布的帖子加标记
WordPress:发布时间超过15天的文章中展示广告
WordPress技巧:制作标签Tags页面
CMS介绍:22个国外最常用的电子商务系统
WordPress制作简单的企业网站
WEBJX收集55个优秀的WORDPRESS网站设计
Joomla 1.6新版:链接跳转组件和插件
Drupal教程:启用缓存和Gzip压缩
Joomla!中文教程:建站程序的安装
WordPress的6种主题框架对比分析
Discuz!7.1远程代码执行漏洞
cPanel主机面板定时自动备份MySQL数据库
Ecshop设置技巧:去除版权的方法
ECSHOP2.7版本去除底部版权的方法
Wordpress技巧:解决注册登录死循环问题
dedeCMS站内搜索代码的改进

CMS技巧 中的 WordPress的MySQL连接出错监测方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-03   浏览: 102 ::
收藏到网摘: n/a

对于某些国外主机,其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的虚拟主机的时候,也可以使用这个程序来测试服务器的稳定性。