【问题标题】:Cron to FTP text files - PHP FTP failureCron 到 FTP 文本文件 - PHP FTP 失败
【发布时间】:2012-01-25 23:43:04
【问题描述】:

我目前在 Cron 文件中使用 PHP 来解析 MySQL 数据库中的记录,并将数据格式化为第三方规范(CSV 文件)。

我生成文本文件没有问题,但是当我转到 FTP 时,ftp_connect() 返回 false。

它工作了一段时间;在我的浏览器中运行时的 cron 文件显示传输成功。现在它突然在 ftp_connect() 上失败(返回 false,在这种情况下我回显“无法传输文件。(path/file.txt):FTP 失败:无法连接到 ftp.website.com”)。

以上错误语句由此产生:

try {
    $conn_id = $this->connect_ftp($host, $username, $password, $port);
} catch(Exception $e){
    throw new Exception('<strong>FTP failure:</strong> ' . $e->getMessage());
}

和connect_ftp():

$conn_id = ftp_connect($host);
if($conn_id === false){
    throw new Exception('Failed to connect to '.$host);
}

我已经单独检查了目标服务器,尽管 cron 每晚都在运行,但它们偶尔会收到文件,但在过去一周中始终如一(即最近的是 21 日,然后是 19 日)。

我正在循环通过一系列文件格式和 FTP 凭据来连续创建文件,将其保存在本地,然后传输它。

我是否需要使用 sleep() 拆分传输?

【问题讨论】:

  • 你试过php.net/manual/en/function.ssh2-scp-send.php吗?我们在使用远程 ftp 时遇到了一些问题,于是改用 ssh2_scp_send。从那以后就没有问题了。
  • @Kai Qing - 还没有,但我明天第一件事。请重复您的评论作为答案。

标签: php ftp cron


【解决方案1】:

你试过 php.net/manual/en/function.ssh2-scp-send.php 吗?我们在使用远程 ftp 时遇到了一些问题,于是改用 ssh2_scp_send。从那以后就没有问题了

【讨论】:

  • 很抱歉让您费尽心思让您的评论成为答案,因为不幸的是,这对我不起作用。我没有在服务器上安装必要的组件。我会尝试让我的主人这样做,但与此同时,我需要另一种解决方案。谢谢。
猜你喜欢
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多