php - 通过 TLS 的显式 FTP 失败 : Warning: ftp_fput(): data_accept: SSL/TLS handshake failed

标签 php ssl ftp openssl

这个问题在这里已经有了答案:





ftp_nlist(): data_accept: SSL/TLS handshake failed

(2 个回答)


1年前关闭。




我正在尝试连接到需要通过 TLS 进行显式 FTP 的 FTP 服务器,所有 FTP 客户端都可以正常工作,但我无法让它在 PHP 中工作:

<?php
$ftp = ftp_ssl_connect($host, 21);
$login = ftp_login($ftp, $user, $pass);
ftp_pasv($ftp, true);

$fp = fopen('php://temp', 'r+');
fwrite($fp, 'Salam');
rewind($fp);
ftp_fput($ftp, '/file.txt', $fp);
服务器配置正确,对filezilla、lftp、ftptest.net等客户端没有问题
PHP版本:7.4.3
OpenSSL:OpenSSL 1.1.1f 2020 年 3 月 31 日

最佳答案

经过几天的尝试,我发现 FTP 服务器正在使用端口 21但是用于数据传输的端口范围不同,这解释了为什么,连接和登录有效,但列出和上传/下载无效。并且这些端口在防火墙中被阻止。
我要求主机提供商允许在这些端口上进行传出连接,问题就解决了。

关于php - 通过 TLS 的显式 FTP 失败 : Warning: ftp_fput(): data_accept: SSL/TLS handshake failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64029162/

相关文章:

php - mySQL 中的复杂查询(在多个表中搜索用户)

php - 不支持填写表格 FDDF FPDF-Merge Error Fast Web View 模式

visual-studio - 更新SSL版本后POCO“无法解析的外部符号”链接器错误

Azure 逻辑应用程序 - 动态 API 连接

php - openid url列表

php - 将用户重定向到登录时特定于其帐户的页面

python - 从源代码构建 Python 和 OpenSSL,但 ssl 模块失败

java - 了解 Java 调试 SSL 消息

java - Android平台jdk1.7内如何使用sun.net.ftp.FtpClient

spring - 将 Spring Batch 和 Spring Integration 结合起来?