我有 php CURL 代码,通过 ajax 脚本运行。代码运行良好,没有问题,但我注意到,当执行代码时,整个服务器会停止/冻结,直到 CURL 完成。这只是在测试混乱期间发生的。如果这是一个实时站点,我的服务器将完全超时。
运行 Apache2、PHP7.4、php7.4-curl、Debian 10
$url_sh = "****";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURL_TIMEOUT, 200);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL,$url_sh);
$result=curl_exec($ch);
curl_close($ch);
$obj = json_decode($result, true);
$approved_img = '<img src="'.$obj['lighthouseResult']['audits']['final-screenshot']['details']['data'].'">';
根据@Sammitch:
如果包含此代码的页面有一个打开的会话,则后续 请求将阻塞,直到会话显式关闭,或者 当代码退出时。它仅针对该用户/会话被阻止,而不是针对该用户/会话 整个服务器。