【发布时间】:2011-01-11 08:38:00
【问题描述】:
我有一个带有登录详细信息和来自 PHP 的安全 FTP 服务器,我正在尝试使用 ftp_ssl_connect/ftp_connect 和 ftp_login 函数连接到该安全 FTP 服务器,并将所有参数正确传递给该函数,但我很惊讶地看到它没有连接。
如果我尝试使用 ssh 从命令行连接到该安全 FTP 服务器,我可以这样做,但是当我尝试通过 php 代码连接时,它无法连接,所以我不确定为什么会发生这种情况?
还有哪些其他方法可以使用 PHP 连接到 Secure FTP Server?
编辑:我尝试使用ssh2_sftp,但仍然无法连接到安全的 FTP 服务器。
EDIT 2:有没有其他方法可以用 PHP 进行 SFTP,请指教。
更新:添加了使用 ssh2_sftp 连接到安全 FTP 服务器的代码,但它没有工作,程序终止并显示消息 Cannot connect to Server
<?php
$connection = ssh2_connect('www.server.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection) or die ("Cannot connect to server");
$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
?>
【问题讨论】:
-
从您的评论到我的回复,您似乎也已经尝试过 ssh2_sftp。编辑您的问题以反映这一点可能会有所帮助,并包括您在使用该功能时遇到的具体问题,即当您执行哪些特定代码时会收到哪些错误消息。此外,包括 确实 工作的 SSH 命令可能允许验证您的代码。
-
@mdb :我已经用我用来连接的代码更新了问题,基本上我已经从 php.net 的 ssh2_sftp 示例中使用了它。
-
还有其他方法可以使用 PHP 连接到 Secure FTP Server 吗?
-
很明显,到处都有人遇到同样的问题 - 我很惊讶几乎没有针对 SSL 上的 FTP 发布的单一解决方案