이런 점에서 PHP는 상대적으로 약하다고 해야 할까요. PHP만 사용하여 구현한다면 다음과 같이 구현할 수 있습니다.
<?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); ?>
그런데 실행해 보면. 브라우저를 닫아도 이 프로그램을 전혀 중지할 수 없으므로 스크립트를 실행하려면 스위치가 필요합니다. 이를 달성하려면 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'; $fp = fopen('test.txt','a+'); fwrite($fp,"这是一个php博客:phpddt.com $switch \n"); fclose($fp); sleep($sleep_time); } exit(); ?>
이 스크립트는 테스트용으로만 가능하며, 구체적인 효율성이 높지 않아야 합니다. 램프의 경우 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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.