PHP - 验证 FTP 连接 - 检测 FTP 超时

标签 php

我的一个 CLI 脚本通过 FTP 下载文件。

该脚本打开一个 FTP 连接,登录,下载必要的文件,然后休眠。它会每隔一段时间再次检查文件。该脚本预计将作为守护进程连续运行数天。

我希望能够重新使用打开的连接(这样我就不必重新连接每个循环)。

$ftpconn = false;
$ftplogin = false;

while(1){

sleep(25);
if(!$ftpconn){
    $ftpconn = ftp_connect(HOST);
}
if(!$ftplogin){
    $ftplogin = ftp_login($ftpconn, USER, PASS);
}

// Do FTP stuff here

}

我的问题是这样的。 ftp_connectftp_login 都超时了吗?如果是这样,发生这种情况时 $ftpconn$ftplogin 会变为 FALSE 吗?

谢谢。

最佳答案

您最好的选择是实现您的连接过程。然后构建您的逻辑以尝试检查该文件。 (我假设使用类似 ftp_nlist 的东西)。如果由于任何原因出现错误,ftp_nlist 将返回 FALSE。此时您可以让您的代码使用 ftp_close 关闭现有连接(如果连接出于任何原因已经关闭,它将给出 FALSE),然后再次运行连接序列。

如果 ftp_nlist 多次失败退出您的应用程序,您需要构建逻辑。不幸的是,各种 ftp_* 命令在确定函数失败的原因方面没有太多深度,因此您必须围绕它构建额外的逻辑来进行补偿。

关于PHP - 验证 FTP 连接 - 检测 FTP 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12294669/

相关文章:

php - Slim 框架无法使用 protected 变量编码为 json

php - 从 Woocommerce 商店页面中的特定自定义元数据过滤产品

找不到 PHP 7 DOMDocument

这是要走的路吗? MySQL 和 Json

php - 带有嵌入式图像的 IMAP PHP 未在本地主机上显示 Codeigniter

php - PHP 邮件中我们真的需要 -f 标志吗?为什么?

php - 在响应式布局上用 php 更改 html

javascript - 使用 jQuery 将数据库中的值显示到表中动态创建的文本字段

php - 从 Tracker 的角度看 Pixel+Cookie 转化跟踪

php - 带有返回 json 的 ajax 调用永远不会成功