Temel mantık, kontrol edilecek URL’ye bir HTTP isteği göndermek ve sunucudan dönen yanıtı okumaktır. cURL desteği varsa bu işlem daha sağlıklı yapılır. cURL yoksa stream_context_create gibi alternatif yöntemler kullanılabilir.
Basit örnek:
PHP
$start = microtime(true);
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$time = round((microtime(true) - $start) * 1000);
curl_close($ch);
echo "HTTP: $code - Süre: {$time}ms";
Bu örnekte sadece durum kodu ve süre ölçülür. Gerçek bir sistemde sonuçların tarih ile birlikte JSON veya veritabanına kaydedilmesi gerekir. Böylece geçmiş kontroller incelenebilir.
Cron job ile bu kontrol belirli aralıklarla çalıştırılabilir. Örneğin her 5 dakikada bir çalışan bir cron, site kapandığında erken fark etmenizi sağlar. Küçük projeler için basit bir PHP uptime sistemi bile büyük fayda sağlayabilir.
OyunGundemi.com