PHP 接口可用性监控脚本:检测状态码、耗时和返回内容 [复制链接]

一级用户组

站长常用的 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 状态码监控。

最新回复

请先登录后再回复 登录

uid:4 一级用户组
关注
我与春风皆过客,你携秋水揽星河
发帖 20
评论 0
粉丝 0
关注 0
发新帖
目录
PHP 接口可用性监控脚本:检测状态码、耗时和返回内容