Ich muss ein PHP-Skript schreiben, das von einem setInterval ("ajaxrequest ('ftp.php', 'Kontext')", 1000) aufgerufen wird; Funktion. Das PHP-Skript ist ziemlich einfach. Es ist ein Array von FTP-Adressen. Es führt eine Schleife durch das Array und überprüft jede IP-Adresse, die online ist oder nicht.PHP-Skript, was überprüft FTP-Server sind online?
Hier ist ein Beispielcode des PHP-Skript:
$conn_id = ftp_connect("192.168.1.108",21,1) or die ("Cannot connect to the server");
ftp_close($conn_id);
Also im Grunde, was hier passiert: Wir haben ein Javascript, das eine PHP-Skript jede Sekunde Aufruf zu überprüfen, ob der FTP-Server online ist oder nicht. Versuchen Sie im PHP-Skript, die Verbindung herzustellen, wenn es nicht möglich ist, "Verbindung zum Server nicht herzustellen".
Mein Problem ist, dass ich diesen Weg machen muss, habe keine Chance, es von Cron Job zu verwenden, weil wir es über eine Webseite überprüfen müssen, ob die Server online sind oder nicht in Echtzeit. Aber auf diese Weise gibt es irgendwo ein Speicherleck, das mein Gedächtnis sehr schnell verschlingt.
Gibt es eine Möglichkeit, dass ich den Speicher freigeben oder dieses Problem auf andere Weise lösen kann?
Verwenden Sie stattdessen fsockopen(). Auch hier ist eine verwandte Antwort auf Ihre Frage http://stackoverflow.com/questions/2226374/test-if-port-open-and-forwarded-using-php –
Vielen Dank für Ihre schnelle Antwort. es ist leider nicht das Problem hier zu lösen ist, wie ich es gemacht habe: $ conn_id = fsockopen ("192.168.1.108", 21, $ errno, $ errstr, 1) oder sterben ("Kann nicht mit dem Server verbinden"); fclose ($ conn_id); und immer noch das Speicherproblem, obwohl es ein wenig später beginnt dann mit der ftp_connect() -Funktion – Wermerb
versuchen, hier zu lesen http://php.net/manual/en/function.fsockopen.php –