之于是否控制,可以做到的,应借用第三个条件:
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脚本