博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于PHP定时执行任务的实现(转)
阅读量:6156 次
发布时间:2019-06-21

本文共 832 字,大约阅读时间需要 2 分钟。

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

 

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

 

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

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

<?php

return 1;//1执行脚本 0退出执行脚本

?>

改良脚本如下:

 

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

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

转载于:https://www.cnblogs.com/xingmeng/p/3248444.html

你可能感兴趣的文章
unix环境高级编程-高级IO(2)
查看>>
树莓派是如何免疫 Meltdown 和 Spectre 漏洞的
查看>>
雅虎瓦片地图切片问题
查看>>
HTML 邮件链接,超链接发邮件
查看>>
HDU 5524:Subtrees
查看>>
手机端userAgent
查看>>
pip安装Mysql-python报错EnvironmentError: mysql_config not found
查看>>
http协议组成(请求状态码)
查看>>
怎样成为一个高手观后感
查看>>
[转]VC预处理指令与宏定义的妙用
查看>>
MySql操作
查看>>
python 解析 XML文件
查看>>
MySQL 文件导入出错
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
虚机不能启动的特例思考
查看>>
SQL Server编程系列(1):SMO介绍
查看>>
在VMware网络测试“专用VLAN”功能
查看>>
使用Formik轻松开发更高质量的React表单(三)<Formik />解析
查看>>