php 定时执行任务

时间:2022-09-21 19:03:50

之于是否控制,可以做到的,应借用第三个条件:

config.php

<?php
return 1;
?>

cron.php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
$run = include 'config.php';
if(!$run) die('process abort');
 //这里是你要执行的代码 
 sleep($interval);// 等待5分钟
}while(true);

 

 

<?
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

 


$filename=rand(1,100).'.txt';
$fp=fopen($filename,'w+');
fclose($fp);

 


sleep('10');
file_get_contents($url);
?>

四行代码搞定了...而且不受time_out 的限制
这个方法的原理是 php脚本sleep 一段时间之后通过访问自身的方式继续执行. 就好像接力赛跑一样..这样就能保证每个PHP脚本执行时间不会太长. 也就不受time_out的限制了. 当然这里只是给出了基本原理的代码. 实际应用方面..我之前在sina sae上用这种方式跑过任务..20秒一次..跑了3天运行完全正常.




使用cron来实现定时执行php脚本