我有一个带有登录详细信息的安全 FTP 服务器,我正在尝试使用 ftp_ssl_connect/ftp_connect
和 ftp_login
函数连接到该安全 FTP 服务器,并传递所有参数与函数正确匹配,但我很惊讶地发现它没有连接。
如果我尝试使用 ssh 从命令行连接到那个安全的 FTP 服务器,我可以这样做,但是当我尝试通过 php 代码连接时,它没有连接,所以我不确定为什么会这样?
还有哪些其他方法可以使用 PHP 连接到安全 FTP 服务器?
编辑:我尝试使用 ssh2_sftp
但我仍然无法连接到安全的 FTP 服务器。
EDIT 2:还有其他方法可以用 PHP 执行 SFTP,请指教。
更新:添加了使用 ssh2_sftp 连接到安全 FTP 服务器的代码,但它没有工作,程序终止并显示消息 无法连接到服务器
<?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');
?>
最佳答案
FTP/S(FTP over SSL)是与 SFTP(FTP over SSH)完全不同的协议(protocol),您不能使用 SSL 库连接到 SFTP 服务器(反之亦然)。
我不是 PHP 程序员,但它看起来确实是 some options to connect to an SSH server are natively available for your platform .
关于php - 使用 PHP 的安全 FTP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2170720/