站长常用的 API、资源站、短链接、图片接口都需要监控可用性。下面这个 PHP 脚本可以检测状态码、耗时和响应内容长度。
完整代码
<?php
$targets = [
'https://bbs.lc/',
'https://example.com/api/status',
];
function check_url($url) {
$start = microtime(true);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_NOBODY => false,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_USERAGENT => 'PHP Monitor Bot',
]);
$body = curl_exec($ch);
$errno = curl_errno($ch);
$error = curl_error($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return [
'url' => $url,
'ok' => $errno === 0 && $status >= 200 && $status < 400,
'status' => $status,
'time_ms' => round((microtime(true) - $start) * 1000, 2),
'bytes' => is_string($body) ? strlen($body) : 0,
'error' => $error,
];
}
$result = array_map('check_url', $targets);
header('Content-Type: application/json; charset=utf-8');
echo json_encode($result, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);适合场景
可以用来监控接口是否宕机、响应是否变慢、返回内容是否异常。后续可以加邮件、企业微信或 Telegram 通知。
关键词:PHP 接口监控、网站可用性检测、API 状态码监控。