PHP脚本检查ftp服务器是否在线


PHP script what checks ftp servers are online?

我需要编写一个由setInterval调用的php脚本("ajaxrequest('ftp.php','context')",1000);作用php脚本相当简单。它包含一组ftp地址。它循环数组并检查每个是否在线的ip地址。

以下是php脚本的示例代码:

$conn_id = ftp_connect("192.168.1.108",21,1) or die ("Cannot connect to the server");
ftp_close($conn_id);

所以基本上这里发生了什么:我们有一个javascript,它每秒调用一个php脚本来检查ftp服务器是否在线。在PHP脚本中,尝试连接,如果不能,它会写下"无法连接到服务器",然后关闭连接。

我的问题是,我必须这样做,没有任何机会通过cron作业使用它,因为我们需要通过网页检查服务器是否实时在线。但就这样,某个地方发生了内存泄漏,它很快就吞噬了我的内存。

有没有什么方法可以释放内存或用其他方式解决这个问题?

认为这个答案是一个建议和方向,我从来没有做过这样的事情,但如果我不得不面对它。

我会写一个cron,通过ip扫描ftp端口。这个cron将每分钟运行一次。没有响应的ftp将保留在数据库中。

我会向php发出ajax请求,只是为了从表中检索这些数据。

这将允许异步执行的两个主要任务

  • 列出所有未响应的ftp
  • 用ftp未响应的列表更新用户

此外,您的方法必须找出不适用于每个实例的ftp列表,当发出多个请求时,这将给服务器带来更大的压力。这种方式将使资源匮乏的执行一次,这对所有人都有效:D

希望这能帮助。。。

EDIT不确定这是否解决了您的cron难题,但一定要更新