在同一个函数中运行两个cURL脚本似乎阻止了第二个操作

时间:2014-03-26 00:25:45

标签: php function curl

我有一个脚本,其中我想通过具有类似变量的cURL向主数据库发送两个HTTPS调用。我已经单独测试了每个脚本以便正常工作,但是当我将两个脚本组合时,第二个脚本被阻止。以下是它们组合时的样子:

$idno=’123’;


$curl = curl_init();
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_URL, 'https://mysite.com/integration.php?type=CANCEL&idnumber='.$idno.'');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$Response = curl_exec($curl);  
return $Response;
curl_close($curl);


$curl2 = curl_init();
curl_setopt($curl2, CURLOPT_VERBOSE, 1);
curl_setopt($curl2, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl2, CURLOPT_TIMEOUT, 30);
curl_setopt($curl2, CURLOPT_URL, 'https://mysite.com/integration2.php?customer_id=CUSOTMER&idnumber='.$idno.’&type=CANCEL');
curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);
$Response2 = curl_exec($curl2);  
return $Response2;
curl_close($curl2);

我尝试了一些变体来打开和关闭cURL调用,但没有运气。什么东西都站在这里?

2 个答案:

答案 0 :(得分:1)

首先,您的代码有语法错误。请修理那些。例如,$idno=’123’;应为$idno='123';

现在,谈谈为什么第二次卷曲不起作用!!!第一次卷曲请求后return做了什么?

$Response = curl_exec($curl);  
return $Response; <--- its returning you back from here

这就是为什么第二次卷曲总是无法到达!!删除不需要的return block

答案 1 :(得分:0)

我找到了一种重写多卷曲请求代码的新方法。这在cURL文档中有明确定义:

http://us2.php.net/manual/en/function.curl-multi-exec.php