php - Symfony 内置服务器 curl 返回 http 代码 0
问题描述
最近我正在处理 symfony3.4。我在 linux VMware 中使用 web 服务器 nginx 1.2 并且 curl 工作正常,但是当我开始使用 symfony 内置服务器时,我的控制器中的 curl 无法正常工作。我找不到问题,也无法在搜索许多网站中找到解决方案..
它是这样工作的:
控制器使用 curl 调用另一个控制器来获取 json 数据。我很确定 api 端工作正常,因为每次我调用 api 时,无论是在命令行中 curl 还是 postman(chrome 插件)都返回完整的 json 数据和 http 代码 200。我检查了信息,总是返回0,但是如果我设置的其他网页的url也是200。工作正常。
$ch = curl_init();
$options = array(
CURLOPT_URL => 'http://127.0.0.0.1:8000/api/create',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 1,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
);
curl_setopt_array($ch, $options);
$result = json_decode(curl_exec($ch), false);
转储(curl_getinfo($ch));// http 代码 = 0
超时设置为 1 秒,因为不管我设置多长时间,结果总会达到我设置的时间。我猜是因为 symfony 的服务器设置
解决方案
推荐阅读
- binary-search - 二分查找实现条件混淆
- angular-in-memory-web-api - “集合 id 类型为非数字或未知。只能生成数字 id。”
- python - Python 3 中有效源字符的范围是多少?
- swift - 下载 CoreData 的图像
- javascript - 如何使用 JavaScript 从 Mule API html 响应中选择特定标签?
- java - How to check if username exists in my firebase database already?
- python - Pyramid 找不到子模块的包含函数
- java - Can't make payments with PayPal Android SDK
- python - Python json API 格式到数据框
- firefox - 在 Firefox 上的 Tampermonkey 中访问文件系统上的文件