好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

php定时任务扩展 php设置定时任务

很多站长朋友们都不太清楚php定时任务扩展,今天小编就来给大家整理php定时任务扩展,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php定时执行任务的几个方法 2、 PHP实现定时任务的几种方式 3、 php如何实现定时任务,php定时任务方法,最佳 php定时执行任务的几个方法

PHP定时执行的三种方式实现

1、windows 的计划任务 2、linux的脚本程序 3、让web浏览器定时刷新

具体实现

1、windows计划任务

PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务添加执行这个bat脚本。

2、linux 的脚本实现

这里主要使用到crontab这个命令,

使用方式 :

复制代码 代码如下:crontab filecrontab [ -u user ] [ -u user ] { -l | -r | -e }

说明 :

crontab是用来让使用者在固定时间或固定间隔执行程式之用

使用crontab写shell脚本,然后让PHP调用shell,这个是利用linux的特性,应该还不算PHP自身语言的特性

3、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 '测试'.time().'<br/>'; sleep($interval);// 等待5s }while(true); //方法2---sleep 定时执行 require_once './curlClass.php';//引入文件 $curl = new httpCurl();//实例化 $stime = $curl->getmicrotime(); for($i=0;$i<=10;$i++){ echo '测试'.time().'<br/>'; sleep($interval);// 等待5s } ob_flush(); flush(); $etime = $curl->getmicrotime(); echo '<hr>'; echo round(($etime-stime),4);//程序执行时间

测试的时候发现这个效率并不是很高。

总结:

个人感觉PHP定时执行任务的效率不是很高,建议关于定时执行任务的工作还是交给shell来做吧。

PHP实现定时任务的几种方式

一. 简单

<?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);

二. 简单 可控型

config.php

<?php

return 1;

?>

cron.php

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.

set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去

$interval=60*30;// 每隔半小时运行

do{

$run = include 'config.php';

if(!$run) die('process abort');

//ToDo

sleep($interval);// 等待5分钟

}

while(true);

三. 简单 改进型

<?php

$time=15;

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

/*

function

*/

sleep($time);

file_get_contents($url);

?>

php如何实现定时任务,php定时任务方法,最佳

PHP制作定时任务(也称计划任务)的方法,大概分为2种:

现在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它们都是单入口的形式,也就是说所有的请求都集合到index.php中,然后再由框架核心来根据请求参数的不同来分配到不同的控制器当中。基于单入口的形式,那么就可以做基于行为(例如TP3.2)或者说基于事件的定时任务。

系统自动的定时任务,比如Linux的crontab,windows的计划任务等。

两中方法各有所长各有所短

基于事件:这种利用的是框架本身提供的一些行为来实现,优点是:不需要特殊配置,只要项目能跑起来,那么定时任务也能执行。缺点是:灵活性比较差,必须要借助框架实现。

基于系统:基于操作系统来实现,优点是:灵活性很高,而且可控性也很好。缺点是:需要特殊配置,专业要求性比较强。

具体要使用哪种方法,可以依据自己的能力和项目需要来选择。最后附上TP3.2的定时任务配置,这个只需要配置就可以,如果想查看具体实现原理,可以查看/ThinkPHP/Library/Behavior/CronRunBehavior.class.php

第一步:/Application/Common/Conf目录下新建两个文件:

分别如:

/Application/Common/Conf/tags.php

/Application/Common/Conf/crons.php

1) 新建 tags.php,编辑内容如下:

return array(

'app_end' => array('Behavior\CronRunBehavior'),

);

2) 新建 crons.php ,编辑内容如下:

return array(

'cron_1' => array('myplan', 1),

);

第二步:/Application/目录下新建 Cron文件夹,里面新建文件myplan.php文件

路径如:/Application/Cron/myplan.php

编辑内容如下:

echo 11111;

查看是否运行成功,最简单的方法是查看/Application/Runtime/~crons.php,这个文件是否存在。

关于php定时任务扩展的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php定时任务扩展 php设置定时任务的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did168727
更新时间:2023-04-11   阅读:26次

上一篇: 用php升级系统 php版本升级对程序影响

下一篇:php正则替换a php正则替换 的内容

相关资讯

最新资料更新

  • 1.将百度编辑器(Ueditor)整合到dedecms中的方法
  • 2.织梦首页和列表页怎么调用自定义字段
  • 3.详解织梦模板DedeCms获取缩略图的高度和宽度的代码
  • 4.Dedecms提示信息及提示内容的修改方法
  • 5.Dedecms去掉URL中a目录的方法
  • 6.dedecms网站栏目增加缩略图的方法
  • 7.dedecms增加文章自定义属性的方法介绍
  • 8.织梦栏目有缓存导致刚发布的文章条数和分页不同步处理方法
  • 9.dede如何按自己写的ID进行排序
  • 10.解决dedecms多域名和站点的绑定的问题
  • 11.织梦DedeCMS调用昨天、两天前、某个时间段发布的文章的方法
  • 12.织梦(dedecms)网站地图改变生成目录的方法
  • 13.织梦dedecms使用weight排序无效的解决方法
  • 14.织梦DedeCMS在实现中英文导航功能方法步骤
  • 15.去掉dedecms友情链接中的LI标签的方法
  • 16.DEDECMS后台登陆空白排查错误原因
  • 17.织梦dedecms的arclist循环中判断第一个li,则添加固定的css否则不加
  • 18.dedecms文章keywords关键词字数限制修改方法(同适用于描述)
  • 19.Mysql修改端口号 织梦DedeCMS设置教程
  • 20.DEDECMS最为常用的分页标签及分页样式代码

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]