端口监视php脚本

原文:[url]http://tutorial.jcwcn.com/Web-Design/PHP/Networking/2007-08-13/2943.html[/url]
 
<?php
//需要检查的主机
$host = "localhost"; // ***把这个改成你的域名 ***
    
$portmsg="";
$headers="";

// 定义检查的端口
$ports = array(21=> "FTP",25=> "Sendmail",80=> "Apache Web Server",3306=> "MySQL Server");

// 开始时假定服务没有问题
$problem = 0;

// 检查下 $ports数组中每一个端口是否可以打开
foreach($ports as $port => $service){
        $fp = fsockopen($host,$port,$errno,$errstr,10);    
         if(!$fp)    
        {    
                $portmsg.= "Port ".$port. " - ".$service. "\n";
                 if($problem!=1){
                        $problem=1; //有问题
                }
        } else{
                fclose($fp);
        }
        flush();
}

// 如果有问题通知接收方
if($problem == 1){
         // 发送邮件
        $recipients = "[email protected]";     // *** 把这个改成你的邮箱 ***
        $msg = date( "M d, Y h:i:s",time()). "\n\n";
        $msg.= "下面的服务不可用需要立即引起注意:\n\n";
        $msg.= $portmsg;    
        $subject = '服务不可得!';
        $headers .= "From: 服务器状态<root@localhost>\r\n";
        $headers .= "X-Sender: <root@localhost>\r\n";
        $headers .= "Content-Type: text; charset=gbk\r\n";
        mail($recipients, $subject, $msg, $headers) or die( "发送邮件失败.");
}
?>
 
 
检查服务器上指定的端口是否开放并email通知服务器管理员。

你可能感兴趣的:(PHP,职场,port,休闲)