很多站长朋友们都不太清楚php定时功能,今天小编就来给大家整理php定时功能,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP实现定时任务的几种方式 2、 如何使php文件定时执行? 3、 PHP如何实现自动定时分配线索功能? 4、 php如何实现定时任务,php定时任务方法,最佳 5、 php定时执行任务怎么写? 6、 PHP怎么实现定时提醒功能 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文件定时执行?两种方案:
1、linux的crontab可以设置定时执行命令,比如定时执行 php aim.php
2、使用php脚本while(){ sleep(1000);} 代表指定时间1000s 执行一次,可以配合
<?php
ignore_user_abort(); // 用户退出继续执行
set_time_limit(0); // 永远不超时
while(1){
// php script;
sleep(1000); // 单位 秒
}
?>
PHP如何实现自动定时分配线索功能?PHP实现不了定时功能,因为这是cs架构,想要实现定时分配任务需要在服务器上建立计划任务,win上计划任务,Linux使用crontab,配合PHP来实现你所说的定时执行功能。
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定时执行任务怎么写?定时任务最好的方法是用linux系统的加护任务来写,你是虚拟主机那无法用这个法子,你可以写前台访问触发的法子,把代码写到页面,判断时间段如果是在设置的时间段就执行。
PHP怎么实现定时提醒功能一般来说,PHP是作为网站脚本语言进行运行的,也就是客户端请求服务器网关后,由CGI程序调用PHP来解析代码并执行,然后将执行结果发送给用户。一般是这种模式。
上面这种模式意味着,没有用户请求,就不会执行PHP代码,也就无法“定时提醒”。
要实现“定时提醒”功能,就要保证让PHP一直处于运行状态(当然,通过操作系统去设置定时任务也行,但是那就与PHP无关了)(或者,将脚本超时时间去掉,然后让PHP代码进入一个“死循环”,不过这种方式非常不好,不建议)。
网上有一些比较成熟的框架,比如我比较喜欢的workerman,你可以将PHP程序做成一个守护进程服务,这样就能保持PHP一直处于运行状态,到时间了,就自动调用一个函数执行一段代码就行,一般是通过Websocket通知用户(如果目标用户浏览器允许使用HTML5的话)。
关于php定时功能的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。