cURL脚本在从一个服务器而不是另一个服务器运行时工作

时间:2011-09-29 21:01:14

标签: php curl

我最近将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中执行等效的第二个命令。

3 个答案:

答案 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(); ?>

并检查这些是否已启用


ADD

您尝试在其上使用的计算机上未创建的SSL证书或SSL证书。每个SSL证书都有关于每台计算机的特定信息(如果从在线供应商处收到)