<?php /* * 避免一个进程无限循环执行N久之后,莫名其妙的挂掉, * 把无限循环拆成有限循环,并调用自身,用另一种方式实现无限循环, * 并把计算任务分到不同的进程 */ //禁止http访问,只允许命令行执行 if(isset($_SERVER['SERVER_PROTOCOL'])){ exit('it is nothing here'); } else{ $doc=$_SERVER['DOCUMENT_ROOT'].$_SERVER['SCRIPT_NAME']; } //开始引用文件、定义变量、连接数据库 $times=50; // 循环次数 include 'abc.php'; //结束引用文件、定义变量、连接数据库 while($times>0){ //业务逻辑代码开始 //业务逻辑代码结束 --$times; } //完成设定循环次数之后,重新调用本身继续执行,需要给php shell权限 $cmd='php '.$doc; exec($cmd); ?> //该片段来自于http://yuncode.net