View Single Post
ישן 15-04-09, 16:59   # 1
Matan Levy
חבר מתקדם
 
Matan Levy's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jan 2006
הודעות: 711

Matan Levy לא מחובר  

איך לבדוק זמינות שרת? [PHP]

אהלן,

אני מנסה לבדוק האם שרת מסויים (לפי אייפי ופורט) זמין, בעזרת fopensocket.

זה הקוד:
קוד:
function checkServer($server_ip, $server_port)
      {
        $ip = gethostbyname($server_ip);
        $port = $server_port;
        $fp = fsockopen($ip, $port, &$errno, &$errstr,10);
        if($fp)
          $status=1;
        else
          $status=0;
        fclose($fp);
        return $status;
       }
הבעיה בפונקציה שלפעמים היא מחזירה 1 גם אם סתם רשמתי אייפי לא קשור,
או שאם השרת לא זמין אני מקבל הודעת שגיאה:

קוד:
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: ���� ���� ���� ���� ���. in.....
וגם

Warning: fsockopen() [function.fsockopen]: unable to connect to *האייפי שאליו ניסיתי להתחבר* (Unknown error) in
למישהו יש דרך יעילה יותר לעשות את זה, ללא שגיאות?
תודה!
  Reply With Quote