php后台运行, 定时任务
后台任务在咱们php编程中虽然用的不是很多甚至很多php网站程序员都没听过甚至觉得后台运行是不可能实现的,本人因为项目需求多次演变在这里分享给大驾,本人第一次想实现后台运行是利用 具体的方法二 在其执行完成后输出一段Js具体代码如下让页面再次执行,然后在网站站点的服务器中打开该页面!以下实现方式除了具体的方法一我不推荐使用外其他我在项目中都使用过! 具体的方法一、php自带函数实现后台运行(不推荐使用,不太稳定而且弊端很多) set_time_limit 允许运行的最长时间,0表示不限制 sleep 运行后延时多久在运行后面的具体代码如下 当我什么使用set_time_limit函数后将具体代码如下写在一个无限循环里面即可! [PHP] syntaxhighlighter_viewsource syntaxhighlighter_copycode ?
具体的方法二、写成网页浏览的形式打开即执行然后用http监控 HTTP监控本来是用来监控网站站点状态的,一次项目的时候无意将其做为了后台运行的具体的方法; HTTP监控会定期通过http协议(Get/Post)访问您要监控的页面,而每一次访问都会运行咱们要执行的具体代码如下,如果运行时间比较长可以加入具体的方法一的set_time_limit; 推荐2个Http监控网站站点: 1-阿里云监控(免费监控11个网站站点,多了收费,免费带短信提醒,个人推荐) 2-360云监控(http://jk.cloud.360.cn/Index/products) 不是很喜欢用360的产品 具体的方法三、惰性运行 惰性也就是说每次网站站点运行都会运行那些被定义为后台任务的具体代码如下,Discuz论坛建站程序系统开源系统就是用的这种具体的方法,流量越大越任务越精准,我个人用此具体的方法实现一般都是开发成一个全局插件来运行php任务脚本文件! 具体的方法四、php Cli模式(推荐) php Cli模式运行稳定超过70%的php网站程序员不知道此具体的方法.本人一套php采集系统利于cli模式稳定运行半年,采集文章300 万; 当咱们运行利于cli模式运行一个php文件之后会自动执行里面的具体代码如下,咱们只需要将具体代码如下写成一个无限循环即可,不过最好在执行一次循环后加入sleep延时! 注意事项: 1、在无限循环中如果要载入文件必须用require_once或者include_once否则会出现重复函数或者类已经存在之类的错误! 2、如果在无限循环中想要后台具体操作办法退出循环可以创建一个文件,每次循环都先判断该文件是否存在,存在则运行具体代码如下,不存在则跳过具体代码如下,这样咱们可以后台控制后台运行的启动与关闭! 定时任务部署以及具体代码如下明天接着写! |
Baocms Niucms整合完整版源码安装教程 附常见问题及代码修改