我有一个网站,我几个星期前写了一个问题。 我的网站通过API托管在网站上的另一个网站__2_2_2Jquery >> PHP >> cURL和浏览器刷新
curl操作通过查询POST请求到一个PHP文件。 如果由于某种原因操作需要更长的时间(我不能确定原因)和用户点击刷新..发送到API的命令已完成但我的服务器没有得到任何结果,所以不能登录或做任何与此结果.. 有没有办法来保持这种交易的完整性?下面 是我的代码,我仍然可以不管结果是在WEBSITE_2
function doCommit($url_)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.23 (Windows NT 5.1; U; en)');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_TIMEOUT,5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,5);
$commit = curl_exec($ch);
curl_close($ch);
if(!curl_exec($ch))
{
$ERROR="<Transaction>
<Result>Failed</Result>
<Reason>Operation Timed Out</Reason>
</Transaction>";
$oXML = new SimpleXMLElement($ERROR);
return $oXML;
}
else{
$oXML = new SimpleXMLElement($commit);
return $oXML;
}
// return $oXML->Reason;
}
如果WEBSITE_2下跌例如应该发生什么解决呢?你是否在curl请求中设置了超时值? – zeflex