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分钟执行一次 ?>