php实现定时任务,php如何自动执行定时任务,PHP定时执行计划任务的多种方法小结

php实现定时任务,php如何自动执行定时任务,PHP定时执行计划任务的多种方法小结

PHP不支持多线程,有时候处理问题也不是那么爽。今天,我们来谈谈PHP有规律的执行方式。

有三种方法可以定期实现PHP。为windows计划任务;2.为linux编写脚本程序;3.让网页浏览器定期刷新。

具体实现

Windows计划任务

PHP很少在win服务器上运行,具体实现也不再研究。在线实现的原理大概是写一个bat脚本,然后让window task添加并执行这个bat脚本。详情请参考https://www.jb51.net/article/29134.htm.

linux 的脚本实现 这里主要使用crontab命令,

用法:

crontab文件crontab [ -u用户] [ -u用户] { -l | -r | -e }

描述:

Crontab用于允许用户在固定的时间或间隔运行程序。

用crontab写shell脚本,然后让PHP调用shell。这是linux的特点,不应该是PHP自己语言的特点。

参见:https://www.jb51.net/article/29136.htm.

PHP实现定时执行计划任务用php刷新浏览器有几个问题需要解决。PHP脚本执行时间限制,默认为30m解:set _ time _ limit();或者修改PHP.ini设置max_execution_time时间(不推荐)。如果客户端浏览器关闭,程序可能会被迫终止。解决方案:即使页面关闭,ignore_user_abort也会正常执行。如果程序一直执行,很可能会消耗大量资源。解决方法:使用sleep使用程序休眠一段时间,然后在执行PHP时定时执行代码:复制代码如下:PHP ignore _ user _ abort();//关闭浏览器,PHP脚本也可以继续执行。set _ time _ limit(3000);//程序可以通过set_time_limit(0) $interval=5无限执行;//每5s运行一次

//方法1-无限循环do{ echo' test '。时间()。br/';睡眠($间隔);//Wait 5s } while(true);

//方法2 - sleep定期执行require _ once’。/curl class . PHP ';//导入文件

$ curl=new httpurl();//实例化$ stime=$ curl-getmicrotime();for($ I=0;$ i=10$i ){

回声'测试'。时间()。br/';睡眠($间隔);//等待5s

} ob _ flush();flush();$ etime=$ curl-getmicrotime();echo‘HR’;echo round(($etime-stime),4);//程序执行时间

测试时,发现这个效率不是很高,

总结:个人认为PHP在常规执行任务方面效率不是很高。我建议定期执行任务的工作还是交给壳吧,壳才是王道。Ps:那个无限循环法好像是网站恶意攻击常用的方法。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括,七种PHP开发环境搭建工具
  • php高并发三种解决方法,php 高并发解决方案
  • php高并发三种解决方法,php 高并发解决方案,PHP解决高并发问题(opcache)
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么,php邮件发送的两种方式
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频,PHP跳转页面的几种实现方法详解
  • PHP购物车,php立即购买和购物车功能
  • PHP购物车,php立即购买和购物车功能,php实现购物车功能(上)
  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • php网站判断用户是否是手机访问的方法有哪些,php如何判断用户是否登录
  • 留言与评论(共有 条评论)
       
    验证码: