2012-12-15 97 views
0

這是我目前擁有的。它不起作用,需要做些什麼來修復它?網站正常運行時間在線/離線PHP腳本

<?php 
$status = GetServerStatus('http://domain.com',80) 
?> 

<?php 
function GetServerStatus($site, $port) 
{ 
    $status = array("OFFLINE", "ONLINE"); 
    $fp = @fsockopen($site, $port, $errno, $errstr, 2); 

    if (!$fp) { 
     return $status[0]; 
    } else { 
     return $status[1]; 
    } 
} 
?> 
+0

您的服務器是否支持套接字?你在免費的網絡主機上運行這個嗎? –

+0

「不起作用」是什麼意思?請提供更詳細的信息和錯誤。 –

+0

首先,從fsockopen前面刪除@來查看是否有錯誤或警告被抑制。還要刪除2參數,以便您可以查看連接到服務器是否需要更長的時間。如果服務器繁忙併且/或者您有DNS問題並且您使用的是主機名,則可能會發生這種情況。 – gview

回答

1

你不放在http://部分。

echo GetServerStatus('www.domain.com', 80); 

function GetServerStatus($site, $port) 
{ 
    $fp = @ fsockopen($site, $port, $errno, $errstr, 2); 
    return ($fp) 
     ? 'ONLINE' 
     : 'OFFLINE'; 
} 

拳參數應該是主機名而不是URL。

+0

此問題是否已解決? –