详解PHP实现定时任务的五种方法
定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大多数都是采用PHP动态语言开发的,而对于PHP的实现决定了它没有Java和.Net这种AppServer的概念,而http协议是一个无状态的协议,PHP只能被用户触发,被调用,调用后会自动退出内存,没有常驻内存。 如果非要PHP去实现定时任务, 可以有以下几种解决方案: 一. 简单直接不顾后果型 ? 1 2 3 4 5 6 7 8 9 10 <?php ignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去 ini_set ( 'memory_limit' , '512M' ); // 设置内存限制 $interval =60*30; // 每隔半小时运行 do { //ToDo sleep( $interval ); // 等待5分钟 } while (true); 缺点: 启动之后,便无法控制, 除非终止 PHP 宿主. 不要采用这样方法, 除非你是黑客. 二. 简单可控型 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 config.php <?php return 1; ?>