【问题标题】:How to SFTP with PHP [duplicate]如何使用 PHP 进行 SFTP [重复]
【发布时间】:2016-06-07 14:28:15
【问题描述】:

我有兴趣尝试让 SFTP 使用以下 PHP 方法:ftp_ssl_connect(host,port,timeout);

我注意到在 W3CSchools (http://www.w3schools.com/php/func_ftp_ssl_connect.asp) 上有以下注释:

注意:此功能仅在 ftp 模块和 OpenSSL 支持静态内置于 PHP 中。

剩下的问题是如何在 PHP 中“静态构建”“ftp 模块”和“OpenSSL 支持”。我用谷歌搜索了一下,似乎关于这个主题的信息非常稀少。

当我当前尝试使用合法凭据从 W3CSchools 运行代码时,我经常收到“false”返回。我可以使用与 PHP 相同的凭据和端口成功 SFTP,所以这不是问题。

我知道有another similar question on StackOverflow;但是,该问题甚至没有提及或解释如何使用 PHP 函数 ftp_ssl_connect(),我仍然想知道如何使用它以及何时使用它。

【问题讨论】:

  • 我已经看过这个问题了;但是,我正在寻找有关如何使用 ftp_ssl_connect() 的解释,而其他问题没有解决。
  • ftp_ssl_connect 与 SFTP 无关。我想向您展示如何在 PHP 中实际实现 SFTP。
  • 如何将 ftp_ssl_connect 与 PHP 一起使用?是否必须在 ubuntu 上编译自己的二进制文件?
  • 这与您最初提出的问题完全不同。你的问题是关于 SFTP 的。 ftp_ssl_connect 再次与 SFTP 无关。如果您想知道如何使用ftp_ssl_connect,请提出一个新问题。这是问答网站,不是论坛。

标签: php laravel ftp cygwin sftp


【解决方案1】:

SFTP(不要与 FTPS 混淆)是 OpenSSH 套件(和其他实现)提供的一种工具,用于通过 SSH 连接安全地传输文件。它与 FTP 或 FTPS 无关,这是您使用的功能。

您可能正在寻找https://secure.php.net/manual/en/function.ssh2-sftp.php 和其他相关功能。

【讨论】:

  • 为什么要 OpenSSH 套件选项而不是 SSH FTP,我认为您称之为 FTPS?
  • @user3089840 SSH FTP 不是 FTPS。 FTPS 是基于 TLS/SSL 的 FTP。通过 SSH 的 FTP 几乎从未使用过。见stackoverflow.com/q/440463/850848
猜你喜欢
  • 2011-06-09
  • 2020-06-18
  • 2020-12-21
  • 1970-01-01
  • 2011-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多