首页 > 解决方案 > 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 的服务器设置

标签: phpcurlsymfony-3.4

解决方案


推荐阅读