2

我一直在尝试使用 PHP 将文件上传到 FTPS 服务器,但是我不断收到 SSL 错误。尝试的两种方法如下:

// METHOD 1
$url = 'ftps://username:pwd@ftpserver/filename.txt';
$context = stream_context_create(array('ftp' => array('overwrite' => true)));
$file_put_contents($url, 'FILE CONTENTS', 0, $context);

// METHOD 2
$ftph = ftp_ssl_connect('ftpserver', 21, 10);
ftp_login($ftph, 'username', 'password');
print ftp_pwd($ftph);
ftp_close($ftph);

错误方法一:

file_put_contents(ftps://...@ftpserver/filename.txt):无法打开流:无法在第 X 行的 /php/file/directory/index.php 中激活 SSL 模式

错误方法二:

ftp_login():SSL/TLS 握手在第 X 行的 /php/file/directory/index.php 中失败

在 PHP 手册中,它指出ftp_ssl_connect如果 PHP 没有使用 OpenSSL 编译,则不会存在;PHP 并没有抱怨该函数不存在,而且来自 phpinfo 的所有指标都指向 OpenSSL 已启用。FileZilla 客户端使用默认端口 (21) 连接良好,并且加密:需要显式 FTP over TLS

在 Ubuntu 12.04 上运行 LAMP。

4

0 回答 0