curl_opts中的多维数组,curl_exec返回false

时间:2015-02-12 14:54:57

标签: php json symfony curl

我在Symfony2中遇到了json响应问题。

我的jobList数组:

    array(4) {
  ["id"]=>
  int(1)
  ["jsonrpc"]=>
  string(3) "2.0"
  ["method"]=>
  string(11) "getJobsList"
  ["params"]=>
  array(3) {
    [0]=>
    array(8) {
      ["id"]=>
      int(1)
      ["url"]=>
      string(5) "jhbjb"
      ["active"]=>
      NULL
      ["ping_time"]=>
      NULL
      ["start_time"]=>
      NULL
      ["stop_time"]=>
      NULL
      ["search_phrase"]=>
      string(5) "jhbjh"
      ["phrase_type"]=>
      NULL
    }
    [1]=>
    array(8) {
      ["id"]=>
      int(5)
      ["url"]=>
      string(6) "kjnkjn"
      ["active"]=>
      NULL
      ["ping_time"]=>
      NULL
      ["start_time"]=>
      NULL
      ["stop_time"]=>
      NULL
      ["search_phrase"]=>
      string(5) "kjnkn"
      ["phrase_type"]=>
      NULL
    }
    [2]=>
    array(8) {
      ["id"]=>
      int(9)
      ["url"]=>
      string(12) "http://bhbjb"
      ["active"]=>
      NULL
      ["ping_time"]=>
      NULL
      ["start_time"]=>
      NULL
      ["stop_time"]=>
      NULL
      ["search_phrase"]=>
      string(6) "jbjhbh"
      ["phrase_type"]=>
      NULL
    }
  }
}

发送功能:

private function sendJobList($jobList, $agentUrl)
    {



        if (!empty($jobList)) {
            if (!$agentUrl) {
               $url = $agentUrl;
            }
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: multipart/form-data'));
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

            if($jobList)
            {
                curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($jobList));
            }

            $output = curl_exec($ch);
            var_dump($output);die();
            curl_close($ch);

            return new Response(json_encode($output, true));
        } else {
            return new Response("Lista jest pusta");
        }
    }

我不知道为什么curl_exec返回false。我到处搜索答案,但没有任何帮助。我会感激任何帮助。

1 个答案:

答案 0 :(得分:0)

如果$ urlagent

,您可以更改if条件

我认为应该以这种方式纠正:

if($agenturl){
    $url= $agenturl;
}

if(isset($agenturl)){
        $url= $agenturl;
    }