curl_exec 返回false,curl_error返回空

curl_exec($ch)的返回值一直是false,调用curl_errno($ch)是空的???

public function http_curl($url,$type='get',$res='json',$arr=''){
    // 初始化
    $ch=curl_init();
    // 设置参数
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_HEADER,FALSE);
    if($type == 'post'){
        curl_setopt($ch,CURLOPT_POST, true);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$arr);
    }
    $output=curl_exec($ch);
    curl_close($ch);
    var_dump($output);
    echo 'error:'.curl_errno($ch);
    if(curl_errno($ch)){
        var_dump(curl_errno($ch));
    }
    if($res == 'json'){
        return json_decode($output,true); 
    }
        return $output;
}

clipboard.png

阅读 9.9k
2 个回答

谢邀!

curl_errno($ch)之前你已经关闭了句柄,改变下顺序再去打印。

关闭了连接还能获取到错误那就怪了。。获取错误要放在curl_close之前

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏