php - 当 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);
但这些都不起作用。
解决方案
推荐阅读
- mysql - 从日期<今天mysql的数据库中选择
- c# - 为什么在 c# 中使用套接字时没有发生 TCP 握手?
- javascript - 从 UI 触发批处理文件
- android - 底页动画在某些设备中不起作用
- r - 将最频繁的列保存到 data.frame 中
- html - 使用 CSS 定位 div(左右)
- java - 过量的日志记录会导致 apache tomcat 中的高 CPU 利用率吗
- sql-server - 如何在一定长度后拆分字符串并更新不同列中的剩余字符串
- java - 如何将 FCM 令牌 ID 发送到 PHP 服务器?
- google-apps-script - 如何处理谷歌表格脚本中的重复项?