私は、setInterval( "ajaxrequest( 'ftp.php'、 'context')"、1000)によって呼び出されるPHPスクリプトを書く必要があります。関数。 PHPスクリプトはかなり簡単です。 ftpアドレスの配列をカウントダウンしています。配列をループし、オンラインであるかどうかすべてのIPアドレスをチェックします。ここでPHPスクリプトftpサーバがオンラインであることを確認するには?
は、PHPスクリプトのサンプルコードです:
$conn_id = ftp_connect("192.168.1.108",21,1) or die ("Cannot connect to the server");
ftp_close($conn_id);
だから、基本的に、ここで何が起こるか:我々は、ftpサーバがオンラインかどうかであることを確認するために毎秒PHPスクリプトを呼び出すJavaScriptを持っています。 PHPスクリプトでは、「サーバーに接続できません」という書き込みができない場合に接続を試み、接続を閉じます。
私の問題は、サーバーがオンラインであるかどうかをリアルタイムで確認する必要があるため、私はこのようにしなければならず、cronジョブで使用する機会がないということです。しかし、このようにどこかにメモリリークがあると、私の記憶は本当に速く食べられます。
私はメモリを解放したり、この問題を別の方法で解決できる方法はありますか?
代わりにfsockopen()を使用してください。また、ここにあなたの質問の関連答えです。http://stackoverflow.com/questions/2226374/test-if-port-open-and-forwarded-using-php –
あなたの迅速な対応に感謝します。 ここで問題を解決していないのはうれしいです。 $ conn_id = fsockopen( "192.168.1.108"、21、$ errno、$ errstr、1)またはdie( "サーバーに接続できません"); fclose($ conn_id); まだメモリの問題がありますが、少し遅れてftp_connect()関数で開始します – Wermerb
ここで読んでみてくださいhttp://php.net/manual/en/function.fsockopen.php –