手机
当前位置:查字典教程网 >编程开发 >php教程 >详解PHP实现执行定时任务
详解PHP实现执行定时任务
摘要:PHP在这方面应该说是比较弱,如果只用php去实现可以如下:但是当我执行脚本的时候,即使我关闭了浏览器,我根本就没法去停止这段程序了,所以你...

PHP在这方面应该说是比较弱,如果只用php去实现可以如下:

<?php ignore_user_abort();//关闭浏览器后,继续执行php代码 set_time_limit(0);//程序执行时间无限制 $sleep_time = 1;//多长时间执行一次 do{ $fp = fopen('test.txt','a+'); fwrite($fp,"这是一个php博客:phpddt.com n"); fclose($fp); sleep($sleep_time); }while(true); ?>

但是当我执行脚本的时候,即使我关闭了浏览器,我根本就没法去停止这段程序了,所以你需要一个执行脚本的开关,你可以用外部文件引入的方法来实现,在while循环的时候,include开关变量即可。那么就可以这样实现:

建立外部引入变量文件 switch.php 内容如下:

<?php return 1;//1执行脚本 0退出执行脚本 ?>

改良脚本如下:

<?php ignore_user_abort();//关闭浏览器后,继续执行php代码 set_time_limit(0);//程序执行时间无限制 $sleep_time = 5;//多长时间执行一次 $switch = include 'switch.php'; while($switch){ $switch = include 'switch.php'; $fp = fopen('test.txt','a+'); fwrite($fp,"这是一个php博客:phpddt.com $switch n"); fclose($fp); sleep($sleep_time); } exit(); ?>

这个脚本只是测试可行,具体效率应该不高,对于lamp,你完全可以使用crontab 来实现。

再补充一段小代码:

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

关于PHP定时执行任务的实现就为大家介绍这么多,之后还有相关文章为大家分享,不要错过。

【详解PHP实现执行定时任务】相关文章:

用PHP实现标准的IP Whois查询

php实现粘贴截图并完成上传功能

php实现求相对时间函数

php简单实现屏蔽指定ip段用户的访问

PHP关联链接添加方法

PHP实现远程下载文件到本地

PHP实现将textarea的值根据回车换行拆分至数组

PHP4中实现动态代理

PHP+jQuery+Ajax实现用户登录与退出

PHP开发的9条经验总结

精品推荐
分类导航