我不知道怎么做这个。有一个 XML Api 服务器,我正在使用 cURL 获取内容;它工作正常。现在我必须打电话给creditCardPreprocessors
国家。它也有“进行中状态”,PHP 应该等到进程完成。我已经尝试过睡眠和其他方式,但我做不到。这是我尝试过的简化示例变体:
function process_state($xml){
if($result = request($xml)){
// It'll return NULL on bad state for example
return $result;
}
sleep(3);
process_state($xml);
}
我知道,这可能是一个无限循环,但我尝试添加计数以在达到 5 时退出;它不会退出,服务器将挂起,几分钟内我将出现 500 个错误,并且该虚拟主机无法访问 Apache。
编辑:
另一个例子
$i = 0;
$card_state = false;
// We're gona assume now the request() turns back NULL if card state is processing TRUE if it's done
while(!$card_state && $i < 10){
$i++;
if($result = request('XML STUFF')){
$card_state = $result;
break;
}
sleep(2);
}