<?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 |