[英]Unknown SSL protocol error in a ftp upload with cURL
我正在尝试使用PHP中的cURL通过tls连接通过显式ftp上传文件。 ftp服务器的身份验证成功,但是当我尝试以被动方式上传文件时,出现以下错误:“与server.domain.nl:21连接时出现未知SSL协议错误”。
在这种情况下可能是什么问题? 被动上传的端口可能被我的提供商阻止了吗? 我可以更改文件上传的端口吗?
我的网站提供商不支持ftp_ssl_connect,所以我不能使用该功能。
杰克(Thx)
FTP日志:
230用户登录。
PBSZ 0
<200 PBSZ命令成功。
保护
<200 PROT命令成功。
残障人士
<257“ /”是当前目录。
*输入路径为“ /”
CWD视音频
<250 CWD命令成功。
电动汽车
*被动连接数据流
<229进入扩展被动模式(||| 50075 |)
*正在尝试xxxx ..
*连接到xxxx(xxxx)端口50075
第一类
<200类型设置为I。
STOR 00191_2773.xml <150打开BINARY模式数据连接。
*在数据流上进行SSL / TLS握手
*成功设置证书验证位置:
* CAfile:c:\\ vevida \\ php54 \\ cacert.pem
CApath:无
* SSL重用会话ID
*连接server.domain.nl:21时发生未知的SSL协议错误
*闭合连接19
我的代码是:
$ch = curl_init() ;
$stderr = fopen("d:\\www\\domein.nl\\www\\pdf\\temp\\curl.txt", "w");
$fp = fopen($fileLocation191, 'r') ;
//logging:
curl_setopt($ch, CURLOPT_VERBOSE, TRUE) ;
curl_setopt($ch, CURLOPT_STDERR, $stderr) ;
curl_setopt($ch, CURLOPT_URL, 'ftp://user:pw@server.domein.nl/avs/'.$remote_file191) ;
curl_setopt($ch, CURLOPT_UPLOAD, TRUE) ;
curl_setopt($ch, CURLOPT_INFILE, $fp) ;
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($fileLocation191)) ;
curl_setopt($ch, CURLOPT_PORT, 21) ;
curl_setopt($ch, CURLOPT_USERPWD, 'user:pw');
// SSL STUFF
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false) ;
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false) ;
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1) ;
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1') ;
curl_setopt($ch, CURLOPT_FTP_SSL, CURLOPT_FTPSSLAUTH) ;
curl_setopt($ch, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_TLS) ;
// EINDE SSL
//curl_setopt($ch, CURLOPT_FTPPORT, '-') ;
curl_setopt($ch, CURLOPT_TIMEOUT, 30) ;
curl_setopt($ch, CURLOPT_FTP_USE_EPSV, TRUE) ;
curl_setopt($ch, CURLOPT_FTP_USE_PASV, TRUE) ;
curl_setopt($ch, CURLOPT_FTP_USE_EPRT, FALSE) ;
curl_exec ($ch) ;
被动上传的端口可能被我的提供商阻止了吗?
提供程序可能只允许很少的传出端口,但我对此表示怀疑。 询问提供者。
我可以更改文件上传的端口吗?
否,此端口由FTP服务器确定。
您应该检查一些事情:
除此之外:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false) ;
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false) ;
由于无论如何都禁用对等方的验证,为什么要完全使用TLS? 还是仅用于测试?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.