> 백엔드 개발 > PHP 튜토리얼 > 예약된 작업의 PHP 구현에 대한 자세한 설명

예약된 작업의 PHP 구현에 대한 자세한 설명

WBOY
풀어 주다: 2016-07-29 09:09:30
원래의
1136명이 탐색했습니다.

이런 점에서 PHP는 상대적으로 약하다고 해야 할까요. PHP만 사용하여 구현한다면 다음과 같이 구현할 수 있습니다.

<&#63;php
 ignore_user_abort();//关闭浏览器后,继续执行php代码
 set_time_limit(0);//程序执行时间无限制
 $sleep_time = 1;//多长时间执行一次
 do{
 $fp = fopen('test.txt','a+');
 fwrite($fp,"这是一个php博客:phpddt.com \n");
 fclose($fp);
 sleep($sleep_time);
 }while(true);
 
&#63;>

로그인 후 복사

그런데 실행해 보면. 브라우저를 닫아도 이 프로그램을 전혀 중지할 수 없으므로 스크립트를 실행하려면 스위치가 필요합니다. 이를 달성하려면 while 루프 중에 포함시키면 됩니다. 스위치 변수. 그러면 다음과 같이 달성할 수 있습니다.
다음 내용으로 외부 가져온 변수 파일 switch.php를 만듭니다.

<&#63;php
return 1;//1执行脚本 0退出执行脚本
&#63;>
로그인 후 복사

개선된 스크립트는 다음과 같습니다.

<&#63;php
 ignore_user_abort();//关闭浏览器后,继续执行php代码
 set_time_limit(0);//程序执行时间无限制
 $sleep_time = 5;//多长时间执行一次
 $switch = include 'switch.php';
 while($switch){
 $switch = include 'switch.php';
 $fp = fopen('test.txt','a+');
 fwrite($fp,"这是一个php博客:phpddt.com $switch \n");
 fclose($fp);
 sleep($sleep_time);
 }
 exit();
 
&#63;>

로그인 후 복사

이 스크립트는 테스트용으로만 가능하며, 구체적인 효율성이 높지 않아야 합니다. 램프의 경우 crontab을 사용하여 구현할 수 있습니다.
작은 코드 추가:

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
  //这里是你要执行的代码  
  sleep($interval);// 等待5分钟
}while(true);
로그인 후 복사

이것은 모두 PHP 예약 실행 작업 구현에 관한 것이며 관련 기사를 공유하겠습니다. 나중에 놓치지 마세요.

이상에서는 PHP에서 예약된 작업을 구현하는 방법에 대해 다양한 측면을 포함하여 자세히 설명했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿