[PHP]Ping ausführen ?



  • ok, aber er gibt nichts aus, siehe selbst (zwischen Status und Ende müste die Ausgabe stehen):
    http://www.dsuclan.de/test.php

    der quellcode:

    <html>
    <head>
    <title>Status</title>
    </head>
    <body>
    <h1>Status</h1><br>
    <?

    $ping = system("ping t-online.de");
    echo $ping;

    ?>
    <br>--- Ende ---
    </body>
    </html>

    [ Dieser Beitrag wurde am 10.01.2003 um 14:05 Uhr von ranger81 editiert. ]



  • ic, du willst nen gameserver abfragen oder?



  • nee, is fürs geschäft. er soll nacher im endeffekt anzeigen, ob der client mit der IP XXX.XXX.XXX.XXX noch online ist oder ob er offlien ist.



  • curl init
    curl error
    curl close

    dannach musste schauen beim 1.eren

    ALL curl errors (see curl.h file in devel distribution)
    CURLE_OK = 0,
    CURLE_UNSUPPORTED_PROTOCOL, /* 1 /
    CURLE_FAILED_INIT, /
    2 /
    CURLE_URL_MALFORMAT, /
    3 /
    CURLE_URL_MALFORMAT_USER, /
    4 /
    CURLE_COULDNT_RESOLVE_PROXY, /
    5 /
    CURLE_COULDNT_RESOLVE_HOST, /
    6 /
    CURLE_COULDNT_CONNECT, /
    7 /
    CURLE_FTP_WEIRD_SERVER_REPLY, /
    8 /
    CURLE_FTP_ACCESS_DENIED, /
    9 /
    CURLE_FTP_USER_PASSWORD_INCORRECT, /
    10 /
    CURLE_FTP_WEIRD_PASS_REPLY, /
    11 /
    CURLE_FTP_WEIRD_USER_REPLY, /
    12 /
    CURLE_FTP_WEIRD_PASV_REPLY, /
    13 /
    CURLE_FTP_WEIRD_227_FORMAT, /
    14 /
    CURLE_FTP_CANT_GET_HOST, /
    15 /
    CURLE_FTP_CANT_RECONNECT, /
    16 /
    CURLE_FTP_COULDNT_SET_BINARY, /
    17 /
    CURLE_PARTIAL_FILE, /
    18 /
    CURLE_FTP_COULDNT_RETR_FILE, /
    19 /
    CURLE_FTP_WRITE_ERROR, /
    20 /
    CURLE_FTP_QUOTE_ERROR, /
    21 /
    CURLE_HTTP_NOT_FOUND, /
    22 /
    CURLE_WRITE_ERROR, /
    23 /
    CURLE_MALFORMAT_USER, /
    24 - user name is illegally specified /
    CURLE_FTP_COULDNT_STOR_FILE, /
    25 - failed FTP upload /
    CURLE_READ_ERROR, /
    26 - could open/read from file /
    CURLE_OUT_OF_MEMORY, /
    27 /
    CURLE_OPERATION_TIMEOUTED, /
    28 - the timeout time was reached /
    CURLE_FTP_COULDNT_SET_ASCII, /
    29 - TYPE A failed /
    CURLE_FTP_PORT_FAILED, /
    30 - FTP PORT operation failed /
    CURLE_FTP_COULDNT_USE_REST, /
    31 - the REST command failed /
    CURLE_FTP_COULDNT_GET_SIZE, /
    32 - the SIZE command failed /
    CURLE_HTTP_RANGE_ERROR, /
    33 - RANGE "command" didn't work /
    CURLE_HTTP_POST_ERROR, /
    34 /
    CURLE_SSL_CONNECT_ERROR, /
    35 - wrong when connecting with SSL /
    CURLE_FTP_BAD_DOWNLOAD_RESUME, /
    36 - couldn't resume download /
    CURLE_FILE_COULDNT_READ_FILE, /
    37 /
    CURLE_LDAP_CANNOT_BIND, /
    38 /
    CURLE_LDAP_SEARCH_FAILED, /
    39 /
    CURLE_LIBRARY_NOT_FOUND, /
    40 /
    CURLE_FUNCTION_NOT_FOUND, /
    41 /
    CURLE_ABORTED_BY_CALLBACK, /
    42 /
    CURLE_BAD_FUNCTION_ARGUMENT, /
    43 /
    CURLE_BAD_CALLING_ORDER, /
    44 /
    CURLE_HTTP_PORT_FAILED, /
    45 - HTTP Interface operation failed /
    CURLE_BAD_PASSWORD_ENTERED, /
    46 - my_getpass() returns fail /
    CURLE_TOO_MANY_REDIRECTS , /
    47 - catch endless re-direct loops /
    CURLE_UNKNOWN_TELNET_OPTION, /
    48 - User specified an unknown option /
    CURLE_TELNET_OPTION_SYNTAX , /
    49 - Malformed telnet option /
    CURLE_OBSOLETE, /
    50 - removed after 7.7.3 /
    CURLE_SSL_PEER_CERTIFICATE, /
    51 - peer's certificate wasn't ok /
    CURLE_GOT_NOTHING, /
    52 - when this is a specific error */

    [ Dieser Beitrag wurde am 10.01.2003 um 14:10 Uhr von 1ntrud0r editiert. ]



  • achso, dann machs so:

    $fp = fsockopen ("IP", PORT, $errno, $errstr, 30);
    if (!$fp) 
    {
        echo "SERVER DOWN: $errstr ($errno)<br>\n";
    }
    else
    {
        echo "juhuu!!";
    }
    


  • das problem ist, dieses CURL ist ein zusatzpaket für php und das script soll nacher auf dem intranet server laufen. ich habe keinen einfluss auf die plugins, die ich dort zur verfügung habe. es sollte ein script sein, dass auf jeden fall kompatibel ist !



  • problem: ich weiß nicht auf welchem port ich connecten kann, oder kann ich da jeden beliebigen port angeben ?



  • nur leider kann man nicht überall mit ftp protokoll connecten @ phpprofi



  • 21 ftp
    22 ssh
    80 http
    113 telnet

    einer von denen ist meistens offen 😮



  • Original erstellt von 1ntrud0r:
    nur leider kann man nicht überall mit ftp protokoll connecten @ phpprofi

    warum ftp?? fsockopen -- Open Internet or Unix domain socket connection

    @ranger81 internetport ist 80
    verbesserung:

    $fp = fsockopen ("IP", PORT, $errno, $errstr, 30);
    if (!$fp) 
    {
        echo "SERVER DOWN: $errstr ($errno)<br>\n";
    }
    else
    {
        echo "juhuu!!";
        fclose($fp);
    }
    


  • genau das ist mein problem. kennt ihr noch eine lösung ?



  • also 80 geht immer ?



  • achja das ping in der console nutzt auch port 80



  • sorry phpprofi zu schnell gelesen ?

    internet port 80 ? o0 80 ist httpd service port



  • danke dir, vorerst geht es phpProfi, wenn ich noch ne frage dazu hab, kann ich dir dann ma ne mail schicken ?



  • über mail bin ich nicht zu erreichen. poste hier



  • Original erstellt von <phpProfi>:
    achja das ping in der console nutzt auch port 80

    dau ? schau lieber ma die firewall an !!!! ping .. benutzt net port 80 !!!

    C:\>ping 192.168.100.21:80
    Unbekannter Host 192.168.100.21:80.
    C:\>ping 192.168.100.21 80
    Ungültiger Parameter 80.
    C:\>ping 192.168.100.21/80
    Unbekannter Host 192.168.100.21/80.

    der Rechner existiert ! ( beweis )

    [ Dieser Beitrag wurde am 10.01.2003 um 14:24 Uhr von 1ntrud0r editiert. ]



  • komisch das NPF port 80 meldet....

    aber hauptsache beleidigen, kannst nicht verlieren was?



  • plup also port 7 und 8 sind gängige ping ports so rein zur info 🙂

    port 80 ist reserviert für webserver und ist geschlossen wenn .. keiner installiert ist und du keine trojaner hast !!!



  • hätte da noch ne frage, wie kann ich dem script jetz noch sagen, dass es z.b. jede 20 sekunden den ping ausfüren soll (diese 20 sekunden sollen aus der variable $timer ausgelesen werden)

    vieln dank !


Anmelden zum Antworten