브라우저 연결이 끊어진 후에도 PHP 코드가 계속 실행되기를 바라지만 많은 방법을 시도했지만 작동하지 않습니다
1. 결과에 관계없이 간단하고 직접적입니다
1
2
3
4
5
6
7
8
9
10
<?php
ignore_user_abort();//브라우저를 닫으면 PHP 스크립트가 계속 실행될 수 있습니다.
set_time_limit(0);// set_time_limit(0)을 통해 프로그램을 제한 없이 실행할 수 있습니다
ini_set('memory_limit','512M') //메모리 제한을 설정합니다
$interval=60*30;/ /30분마다 실행
do {
//ToDo
sleep($interval);//5분 동안 대기
}
while(true);
단점: 일단 시작하면 PHP 호스트가 종료되지 않으면 제어할 수 없습니다. 해커가 아닌 이상 이 방법을 사용하지 마세요.
1
2
3
4
5
6
7
8
9
1 0
11
12
13
14
15
16
17
18
19
20
config.php
<php
return 1;
?>
cron.php
ignore_user_abort();//브라우저를 닫으면 PHP 스크립트가 계속 실행될 수 있습니다.
set_time_limit(0);//set_time_limit(0)을 사용할 수 있습니다. 프로그램이 제한 없이 실행되도록 하세요
$interval=60*30;// 30분마다 실행
do{
$run = 'config.php' 포함 ;
if(!$run) die(' 프로세스 중단');
//ToDo
sleep($interval);//5분 동안 기다리세요
}
while(true);
config.php의 반환 0을 변경하여 프로그램을 중지하려면 가능한 방법은 config.php 파일 및 특수 양식과 상호 작용하고 구성을 위해 HTML 페이지를 통해 일부 변수를 설정하는 것입니다
단점: 시스템 리소스를 차지하고 오랜 시간 동안 실행되므로 예상치 못한 숨겨진 위험이 발생할 수 있습니다. 예를 들어 메모리 관리 문제
3. 단순 개선형
1
2
3
4
5
6
7
8
9
<? php
$time=15;
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
/*
함수
*/
수면 ($time);
file_get_contents($url);
?> PHP 스크립트의 실행 시간은 그리 길지 않습니다.
PHP 파일의 각 주기는 독립적으로 실행되므로, 이 방법은 time_out의 제한을 피하지만 위와 동일하게 하는 것이 가장 좋습니다. 프로세스를 종료하려면 제어 코드 .cofig.php를 추가하세요.
위 방법은 테스트 후에도 쓸모가 없습니다. 개인적으로 24시간 실행되면 코드가 자동으로 중지됩니다. 다른 방법이 있나요? 아니면 웹 페이지를 자동으로 열어 가끔 내 코드가 시작될 수 있도록 하는 서비스를 제공할 수 있는 웹 사이트가 있습니까?
파충류가 되고 싶나요? 페이징 점프를 수행하고 실행 후 다음 페이징으로 점프할 수 있습니다!
Windows 예약 작업을 시도해 볼 수 있습니다
php는 이 작업에 적합하지 않습니다