当用户中止我的脚本时,cURL会话会发生什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当用户中止我的脚本时,cURL会话会发生什么?相关的知识,希望对你有一定的参考价值。

在我的php脚本中,我使用cURL调用REST API方法:

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://somehost/api/somemethod');
$result = curl_exec($curl);
curl_close($curl);

我知道如果用户中止请求(例如通过单击Web浏览器中的停止按钮),那么我的PHP脚本将立即终止。

当PHP脚本终止时,cURL会话是否也会终止(并中止请求)?如果没有,我该怎么做才能确保中止用户的请求也会中止cURL请求?

答案

不久,是的。当用户终止PHP脚本时,脚本将与其运行的所有内容一起结束。

当然,看看这个

https://www.php.net/manual/en/function.ignore-user-abort.php

ignore_user_abort(false);

在尝试向客户端发送信息之前,PHP不会检测到用户已中止连接。

以上是关于当用户中止我的脚本时,cURL会话会发生什么?的主要内容,如果未能解决你的问题,请参考以下文章

当我使用 assignTaxonomy 时 R 会话中止

确保脚本在用户中止时退出

用户中止后在后台运行 PHP + Curl

会话无效问题

当 PostgreSQL 中没有会话发出 LISTEN 时,NOTIFY 会发生啥?

Android,强制关闭应用程序后到底会发生啥?