我最近将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中执行等效的第二个命令。
答案 0 :(得分:1)
可以为apache follow或open_basedir设置设置一些php.ini设置!
答案 1 :(得分:1)
我知道我迟到但相当于
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
答案 2 :(得分:0)
大多数情况下,通过SSL的CURL使用OpenSSL,很可能在新服务器上未安装或启用CURL或OpenSSL。使用以下命令在服务器上保存文件:
<?php phpinfo(); ?>
并检查这些是否已启用
您尝试在其上使用的计算机上未创建的SSL证书或SSL证书。每个SSL证书都有关于每台计算机的特定信息(如果从在线供应商处收到)