>  기사  >  백엔드 개발  >  PHP 파일은 몇 초마다 실행될 수도 있습니다.

PHP 파일은 몇 초마다 실행될 수도 있습니다.

小云云
小云云원래의
2017-11-11 11:50:043246검색

데이터베이스에서 작업하고 결과를 저장하기 위해 PHP 코드 추출기를 사용해야 하는 경우. 사용자가 요청할 때 이 코드의 실행을 트리거하는 메서드라면 분명히 사용자의 응답 시간이 길어져 사용자 경험에 영향을 미칠 것입니다! 운영 체제의 예약된 작업을 사용하는 경우 실행 빈도도 매우 높습니다.

다음은 간단한 예입니다:

<?php
ignore_user_abort();//关闭浏览器仍然执行
set_time_limit(0);//让程序一直执行下去
$interval=3;//每隔一定时间运行
do{
    $msg=date("Y-m-d H:i:s");
    file_put_contents("log.log",$msg,FILE_APPEND);//记录日志
    sleep($interval);//等待时间,进行下一次操作。
}while(true);
?>

프로그램은 최종 판단문을 작성하지 않으며 끝없이 반복된다는 점에 유의해야 합니다. 물론, 중지하고 싶다면 Apache를 다시 시작하면 무효화됩니다. 예약된 실행을 다시 수행하려면 이 코드를 다시 실행하세요.

위의 간단한 예는 이 원칙을 설명할 수 있습니다.

위의 예에서는 몇 가지 개선을 할 수 있습니다.

스크립트를 실행하려면 스위치가 필요합니다. while 루프 중에 스위치 변수를 포함하면 됩니다. 그런 다음 다음과 같이 구현할 수 있습니다.

다음 내용으로 외부 가져온 변수 파일 switch.php를 만듭니다.

<?php
return 1;//1执行脚本 0退出执行脚本
?>
改良脚本如下:
<?php
    ignore_user_abort();//关闭浏览器后,继续执行php代码
    set_time_limit(0);//程序执行时间无限制
    $sleep_time = 5;//多长时间执行一次
    $switch = include &#39;switch.php&#39;;
    while($switch){
        $switch = include &#39;switch.php&#39;;
        $msg=date("Y-m-d H:i:s").$switch;
            file_put_contents("log.log",$msg,FILE_APPEND);//记录日志
        sleep($sleep_time);//等待时间,进行下一次操作。
    }
    exit();
    
?>

아마도 우리는 오랫동안 서버가 응답하는 이유를 몰랐을 것입니다. 두 가지 예에서 우리는 PHP 파일이 몇 초마다 구현 방법마다 변경된다는 것을 이미 알고 있으므로 해결책을 찾았습니다.

관련 권장 사항:

PHP 파일 기능이 무엇인지 요약합니다.

PHP 파일 기능 및 디렉터리 기능을 요약합니다.

PHP 파일 업로드 클래스 공유

위 내용은 PHP 파일은 몇 초마다 실행될 수도 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.