我需要编写一个由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难题,但一定要更新