이 기사의 예에서는 PHP가 서버 상태 모니터링을 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
PHP 서버 상태 모니터링을 해본 적이 없는 친구들이 많습니다. 웹사이트가 한밤중에 종료되면 상황도 알 수 없습니다. 그래서 이틀간 시간을 내어 웹 서버 상태 모니터링 도구를 작성했는데, 친구가 필요하다고 하는 것을 보고 출시하게 되었습니다. 매우 간단한 것입니다.
사용방법:
압축된 패키지에 있는 status.php 파일을 엽니다. 여기에 있는 내용을 자신의 이메일 정보로 편집하세요. 코드는 다음과 같습니다.
$mail->Port = 25; // SMTP 서버 포트 번호
$mail->Username = 'admin@xxx.com' // SMTP 서버 사용자 이름
$mail->Password = 'password' // SMTP 서버 비밀번호
$mail->SetFrom('admin@xxx.com','상태');
$mail->AddReplyTo('admin@xxx.com','상태');
$mail->제목 = $subject;
$mail->AltBody = '메시지를 보려면 HTML 호환 이메일 뷰어를 사용하세요!' // 선택사항, 주석 처리 및 테스트
$mail->MsgHTML($body);
$address = 'admin@admin.com'; //이메일 받기
//여기의 내용을 모니터링하려는 IP로 변경하세요.
$server_ip_list = 배열(
'61.135.169.121',
'221.204.173.200',
'173.194.127.83'
);
그런 다음 http://yourdomain.com/status.php 파일을 방문하여 현재 서버 상태를 확인하고 설정한 이메일 주소로 이메일을 자동으로 보내세요. 자동 모니터링이 필요한 경우 Cron 작업을 추가하거나 일종의 모니터링 도구를 사용하세요!
전체 코드는 다음과 같습니다.
* 서버 상태 모니터링
*/
header('Content-type:text/html;charset=utf-8');
include './smtp/class.smtp.php';
include './smtp/class.phpmailer.php';
function sendmail($subject = '',$body = '') {
Date_default_timezone_set('아시아/상하이');//동바구 시간대 설정
$mail = new PHPMailer(); //새로운 PHPMailer 객체가 나옵니다
~ ~ $mail->CharSet ="UTF-8";//이메일 인코딩을 설정합니다. 기본값은 ISO-8859-1입니다. 중국어로 보내는 경우 반드시 설정해야 합니다. 그렇지 않으면 코드가 깨집니다.
$mail->IsSMTP(); // SMTP 서비스를 사용하도록 설정
$mail->SMTPAuth = true; $mail->SMTPAuth = true; // SMTP 인증 기능 활성화
$mail->Host = 'smtp.exmail.qq.com' // SMTP 서버
$mail->Port = 25; // SMTP 서버의 포트 번호
$mail->Username = 'admin@xxx.com' // SMTP 서버 사용자 이름
$mail->Password = 'password' // SMTP 서버 비밀번호
$mail->SetFrom('admin@xxx.com','상태');
$mail->AddReplyTo('admin@xxx.com','상태');
$mail->제목 = $subject;
$mail->AltBody = '메시지를 보려면 HTML 호환 이메일 뷰어를 사용하세요!' // 선택사항, 주석 처리 및 테스트
$mail->MsgHTML($body);
$address = 'admin@admin.com'; //이메일 받기
$mail->AddAddress($address, '');
//$mail->AddAttachment("images/phpmailer.gif") // 첨부파일
//$mail->AddAttachment("images/phpmailer_mini.gif") // 첨부파일
If(!$mail->Send()) {
echo '메일러 오류: ' . $mail->ErrorInfo;
} 그 밖의 {
// echo "메시지가 전송되었습니다! 축하합니다. 이메일이 성공적으로 전송되었습니다!";
}
}
//서버 상태 확인
함수 checkServerSatatus($ip) {
$str = null;
$fp = @fsockopen($ip,80,$errno,$errstr,10);
if (!$fp) {
false를 반환합니다.
} 그 밖의 {
fclose($fp);
true를 반환합니다.
}
}
$server_ip_list = 배열(
'61.135.169.121',
'221.204.173.200',
'173.194.127.83'
);
?>
* {
여백: 0px;
패딩: 0px;
}
몸 {
글꼴 계열: "Microsoft yahei",Arial;
글꼴 크기:14px;
}
헤더 {
높이: 40px;
배경색: #2e2e2e;
너비: 100%;
줄 높이: 35px;
}
헤더 > h3 {
색상: #fff;
여백 왼쪽: 20px;
}
바닥글 {
텍스트 정렬: 중앙;
}
{
색상: #424242;
텍스트 장식: 없음;
}
.wrap {
높이: 자동;
확대/축소:1;
오버플로: 자동;
최대 너비: 500px;
너비: 100%;
여백: 50px 자동;
}
.테이블 {
border-collapse: 축소;
테두리: 1px 실선 #eee;
너비: 100%;
}
tr,td{
색상: #424242;
border-collapse: 축소;
테두리: 1px 실선 #F0F0F0;
높이: 30px;
텍스트 정렬: 중앙;
}
tr:n번째-자식(2n 1) {
배경색: #F7F8FC;
}
tr:hover {
배경색: #F7F8FC;
}
.온라인,.오프라인 {
높이: 20px;
배경색: #2ECC71;
너비: 40px;
여백: 0px 자동;
-webkit-border-radius: 5px;
-moz-국경-반경: 5px;
테두리 반경: 5px;
색상: #fff;
}
.오프라인 {
너비: 50px;
배경색: #E74C3C;
}
스타일>
머리>
服务器线状态监控
헤더>
$i = 0;
foreach ($server_ip_list as $key => $val) {
$api = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$server_ip_list[$key].'');
$json = json_decode($api);
$result = $json->data;
$i ;
if (checkServerSatatus($server_ip_list[$key])) {
echo "
} 그 밖의 {
echo "
$subject = "您的服务器 {$server_ip_list[$key]} 无法访问!";
$body = "您적服务器{$server_ip_list[$key]}发送!";
sendmail($subject,$body);
}
}
?>
본체>
테이블>
본문>
참고:
include './smtp/class.smtp.php';
include './smtp/class.phpmailer.php';
文件可以下载phpmailer包然后我们는 包里平这两个文件复来然后即可使用了。
ps: 这个只是一个不常的简单的不能很好的监控到服务器了,现这个只是一个个常的简单的监控到服务器了,现这个只是一个个只是一个以更好的达到们要求,如dnspod里面有一个D监控了,然后我们就可以操작품。
希望本文所述对大家的PHP程序设计有所帮助。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

뜨거운 주제



