데이터베이스에서 작업하고 결과를 저장하기 위해 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 'switch.php'; while($switch){ $switch = include 'switch.php'; $msg=date("Y-m-d H:i:s").$switch; file_put_contents("log.log",$msg,FILE_APPEND);//记录日志 sleep($sleep_time);//等待时间,进行下一次操作。 } exit(); ?>
아마도 우리는 오랫동안 서버가 응답하는 이유를 몰랐을 것입니다. 두 가지 예에서 우리는 PHP 파일이 몇 초마다 구현 방법마다 변경된다는 것을 이미 알고 있으므로 해결책을 찾았습니다.
관련 권장 사항:
위 내용은 PHP 파일은 몇 초마다 실행될 수도 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!