php 5.6 版本运行在虚拟主机上,因此 sleep 和 usleep 功能被禁用,我没有权限启用它们。 我必须将脚本挂起一段时间才能继续执行它。 到目前为止,我已经考虑使用curl或fsockopen函数来发送暂停脚本的请求。 但不知道有什么危害,如何精确控制请求时间,或者是否有这样的网站只在1-2秒内响应。 我想了一天,没有想出一个好办法,请大家帮帮我,真诚的谢谢。
有多种方法可以使用 Web 请求来实现可预测的超时...因此下面的代码只是该做什么的“一个想法”。
function curlSleep(
$sleepSecs = 5,
$url = 'www.ineverwillreachthis.lostinspace'
) {
$startTime = microtime(true);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, $sleepSecs);
try {
$output = curl_exec($ch);
$endTime = microtime(true);
if (curl_errno($ch)) {
echo "cURL error: " . curl_error($ch);
} else {
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($statusCode === 200) {
$duration = $endTime - $startTime;
echo "Response time: " . $duration . " seconds";
} else {
echo "Server response error with status code: " . $statusCode;
}
}
} catch (Throwable $e) {
} finnaly {
curl_close($ch);
}
}