我正在使用PHP的curl_exec()向一个运行时间很长的API发出请求。但我实际上并不需要知道结果,我只需要启动该过程。
如果流程成功或失败,对我来说无关紧要。所以我想在我提出请求后立即放弃连接。
如何删除curl_exec连接?我不想等待30-60秒的回复:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/LongRunningProcess/parameter");
curl_exec($ch);
// need to do something here to just drop the connection, don't wait for curl_exec
// but what is that something?
curl_close($ch);
我相信解决方案可能会涉及curl_multi?
答案 0 :(得分:2)
答案 1 :(得分:2)
根据远程服务器的配置方式,可能会在断开连接后立即结束。除非您进行分叉,或者远程服务器配置为允许它,否则您将不得不等待它结束。
如果您可以控制该远程服务器,则可以配置PHP以使其继续运行。您正在寻找ignore_user_abort
in PHP.ini或as a function。