我最近将cURL脚本从一个服务器(Ubuntu)移动到另一个服务器(Mac OS X),该脚本在Ubuntu服务器上运行时可以工作,但在OS X服务器上不起作用。我得到错误35和这个:
error:14077417:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert illegal parameter
任何想法?
编辑:这可能是一个很好的线索。这行不通:curl -v https://foo.com/OA_HTML/RF.jsp?function_id=123
curl -v -sslv3 https://foo.com/OA_HTML/RF.jsp?function_id=123
现在我只需要知道如何在PHP中执行相当于第二个命令的操作。
可能是php.ini设置或apache follow或openbasedir设置!
我知道我迟到了,但是相当于
curl -v -sslv3 https://foo.com/OA_HTML/RF.jsp?function_id=123
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSLVERSION, 3); //set to force SSL3
curl_setopt($ch, CURLOPT_URL, "https://foo.com/OA_HTML/RF.jsp?function_id=123");
$result = curl_exec ($ch); //execute the request
大多数时候CURL over SSL使用OpenSSL,很可能在新服务器上没有安装或启用CURL或OpenSSL。在服务器上保存一个文件:
<?php phpinfo(); ?>
并检查是否启用了
添加
或者您的SSL证书没有在您试图使用它们的机器上创建。每个SSL证书都有关于每台机器的特定信息(如果从在线供应商接收)