PHP는 "대안"으로 cron을 호스트에 스크립트로 저장하고 한 번 실행합니다. 그것은 실행에서 너무 오래 내부 처리가 오래 걸리는 경우가 스크립트를 방해하지 않도록, 시간이 더 오래뿐만 아니라 걸릴 수 있으므로 백그라운드에서 작업을 포크 것, 한 번 자신에게 매 초마다 호출합니다 :
<?php
header("X-PHP-CRON-STATUS: failure.");
isset($_SERVER["HTTPS"]) || die('failure.');
ignore_user_abort(true);
set_time_limit(0);
header("Content-Length: 8");
header("Connection: close");
header("X-PHP-CRON-STATUS: started.", 1);
echo 'started.';
flush();
/* run cron jobs in background/HTTP "background" script like this one */
$each = 1; /* second(s) */
$sofar = microtime(1) - $_SERVER['REQUEST_TIME'];
if (0 < ($wait = $each - $sofar))
{
usleep($wait * 1000000);
}
$uri = 'http' . ($_SERVER["HTTPS"] ? 's' : '') . '://' . $_SERVER["SERVER_NAME"];
!$_SERVER["SERVER_PORT"] == "80" && $uri .= ':'.$_SERVER["SERVER_PORT"];
$uri .= $_SERVER["REQUEST_URI"];
file_get_contents($uri);
이런 스크립트는 매우 약해서 진짜 cron을 얻는 것이 좋습니다. 땜질을하기에는 괜찮습니다.
나는 cron에 대한 대안이라고 부를 수있는 방법을 모르겠다. 방법에 대해 설명하는 방법에 대해 달성하기 위해. 간단한 지연을 위해서 sleep()을 사용할 수 있습니다. –
아니요, 혼자서는 작동하지 않지만, 이것이 실제 질문이 아닙니다. – KingCrunch
이것은 잠을 자지 못해 커다란 지연이 될 것입니다. –