2012-07-14 64 views
1

我希望我的網站用戶檢查是否有其他網站(http和/或https)已啓動。有些網站使用谷歌分析(如果我理解的話)。但我不明白他們是怎麼做到的。如何檢查從PHP/HTML網站是否啓動?

問題1)如何在我的網站上使用google-analytics來檢查是否有其他網站已啓動?

問題2)我該怎麼做?使用PHP或JavaScript?我想知道,如果谷歌分析可能更可靠的話,如果他們使用多個服務器位置來檢查網站是否在線比較,我將與我自己的代碼使用一個單一的位置。

回答

3

您可以使用服務器端Curl並監控http響應標頭,網站超時。

0

您可以ping服務器並監視響應。此鏈接顯示了PHP中的實現:http://www.darian-brown.com/php-ping-script-to-check-remote-server-or-website/

+0

Ping不可靠。它可能被禁用來回答ping請求,因此即使ping超時或被拒絕,站點也可能會啓動。 – Radek 2012-07-14 10:27:09

+0

我認爲你擁有你想要檢查的所有網站的問題,因此如果需要ping將啓用它們。 – 2012-07-14 11:07:11

+2

ping響應並不意味着Web服務器已啓動並且功能正常。 – worenga 2012-07-14 11:44:25

1

可以嘗試直接連接到服務器的http端口。

$canConnect = FALSE; 
    $host = 'www.example.com'; 
    $service_port = 80; // http, for https use 443; 
    $address = gethostbyname ($host); 
    $socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); 
    if ($socket !== FALSE) { 
     $result = socket_connect ($socket, $address, $service_port); 
     if ($result) { 
      $canConnect = TRUE; 
     } 
     socket_close($socket); 
    }