首页 > 解决方案 > 当 curl_exec 并显示 ERR_EMPTY_RESPONSE 时页面消失

问题描述

我正在使用 curl 从其他服务获取令牌,但它会无缘无故地死掉。

由于它死了,所以没有输出,也没有错误日志。只是 ERR_EMPTY_RESPONSE 在 chrome 上。

这是我的代码。

$url = ".......";
$is_post = false;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, $is_post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);        <----------------------dies here
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "status_code:".$status_code;
curl_close ($ch);

我已经做了下面的例子,它没有遇到任何麻烦。

$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);

当我打印 $url 并将其放入浏览器时,我认为它工作得很好(显示了我需要的东西)。

有没有人有任何线索???

更新

我的 curl 版本是 7.19。而且这绝对是 HTTPS 问题,因为 HTTP 工作正常。

我试过了

curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cert/file/cacert.pem');

curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);

但这些都不起作用。

标签: phpcurl

解决方案


推荐阅读