原文地址 https://www.xiegaosheng.com/post/view?id=30
PHP监控网站运行状态;
由于公司的认证页面每天访问量较大;为了保证服务正常运行;领导要求对这个页面进行检测;访问失败就发短信
<?php
/**
* 检测设备是否离线
*/
require 'sms.php';
//获取状态码
function getHttpcode($url){
$ch = curl_init();
$timeout = 3;
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch,CURLOPT_URL,$url);
curl_exec($ch);
$httpcode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
return $httpcode;
}
$num;
$url = "https:xgs888.top";
if(getHttpcode($url) == 200)
{
//状态码200请求成功
file_put_contents('/var/www/html/Monitor/2.txt',0);
$num = 0;
}
else
{
//请求失败 $num+1
$num = file_get_contents('/var/www/html/Monitor/2.txt');
$num = $num + 1;
file_put_contents('/var/www/html/Monitor/2.txt',$num);
}
///$_SESSION['num']=0;
if($num ==5){
//当$num==5时发送短信
}
//一开始存的是session crontab跑了几天发现服务器挂了没有收到短信
//后来在页面执行是正常的,再仔细一想,发现脑子短路了;session需要依赖客户端的cookie
// 然后就用最基本的写文件的方法,定时任务2分钟执行一次
?>