php curl_exec函数挂起并以错误500结束

时间:2012-09-18 08:51:08

标签: php curl

我有一个curl请求,它在我的localhost中工作正常,我已将其上传到服务器但它挂起并以错误500内部服务器错误结束。如果删除行echo $output = curl_exec($ch);它可以正常工作。

$url = "https://someserver.com/api/";
$username = "some_user";
$password = "some_apss";
if(!extension_loaded('curl')){
    die("Curl extension not loaded");
}
if(!function_exists('curl_init')){
    die("curl_init not found");
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);     
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
echo $output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);`

3 个答案:

答案 0 :(得分:1)

这是服务器方面的问题。不是这个剧本的错。

答案 1 :(得分:0)

使用脚本安装在服务器上的curl扩展可能不是使用ssl支持编译的。 在服务器上执行以下代码并回发结果:

<?php
    $version = curl_version();
    $ssl_supported= ($version['features'] & CURL_VERSION_SSL);
    echo $ssl_supported == CURL_VERSION_SSL;

它应该输出1.如果不是,你必须为curl安装ssl支持

答案 2 :(得分:0)

这是我服务器端口的问题。该港口已关闭。打开港口后,它的工作完美。谢谢大家