首页 > 后端开发 > 正文

php定时调度框架 php如何自动执行定时任务

2023-09-21 02:00:26 | 我爱编程网

最近经常有小伙伴私信询问php定时调度框架 php如何自动执行定时任务相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

php定时调度框架 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="".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
/*
function
*/
sleep($time);
file_get_contents($url);
?>

php定时调度框架 php如何自动执行定时任务

如何使用Linux的Crontab定时执行PHP脚本的方法

方法1
1. 在web根目录创建请求的脚本index.php
我的文件路径(根据安装路径不同有不同路径):/usr/local/webserver/htdosc/index.php
2. 创建crontab文件
2.1   crontab -e
2.2  * * * * * /usr/local/webserver/php/bin/php-cgi -q /usr/local/webserver/htdosc/index.php
注意事项:
一. /usr/local/webserver/php/  是我的php安装路径
二. php-cgi 是php解析器(我的理解是这样,总感觉我理解的不对,希望大虾们指正),有些资料是用./bin/php,我电脑上就不能,所以用php-cgi,可能安装的方式不对吧。
三. -q 是安静模式(某些资料中看到的)运行php脚本
四. 有些资料是 把在index.php的首行添加#!  /usr/local/webserver/php/bin/php -q ,并对index.php添加执行权限。我没有这样做,也能正常请求index.php
最后介绍一个PHP定时执行任务的实现
用到的函数  ignore_user_abort(),set_time_limit(0),sleep($interval)
此代码只要运行一次后关闭浏览器即可。
代码如下
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
//这里是你要执行的代码
sleep($interval);// 等待5分钟
}while(true);
你也可以用curl命令尝试。
原文链接

php定时调度框架 php如何自动执行定时任务我爱编程网

php如何自动执行定时任务



PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。本文,我们就来深入的解析几种常见的php定时任务的思路。
Linux服务器上使用CronTab定时执行php
我们先从相对比较复杂的服务器执行php谈起。服务器上安装了php,就可以执行php文件,无论是否安装了nginx或Apache这样的服务器环境软件。而Linux中,使用命令行,用CronTab来定时任务,又是绝佳的选择,而且也是效率最高的选择。
首先,进入命令行模式。作为服务器的linux一般都默认进入命令行模式的,当然,我们管理服务器也一般通过putty等工具远程连接到服务器,为了方便,我们用root用户登录。在命令行中键入:
crontab -e之后就会打开一个文件,并且是非编辑状态,则是vi的编辑界面,通过敲键盘上的i,进入编辑模式,就可以编辑内容。这个文件中的每一行就是一个定时任务,我们新建一行,就是新建一条定时任务(当然是指这一行内按照一定的格式进行书写)。我们现在来举个例子,增加一行,内容如下:
00 * * * * lynx -dump
00 * * * *就是指当当前时间的分钟数为00时,执行该定时任务。时间部分由5个时间参数组成,分别是:
分时日月周第1列表示分钟1~59 每分钟用或者 */1表示,/n表示每n分钟,例如*/8就是每8分钟的意思,下面也是类推
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
整个句子的后面部分就是操作的具体内容。
lynx -dump
00 */2 * * * /usr/local/bin/php /home/www/script.php这条语句就可以在每2小时的0分钟,通过linux内部php环境执行script.php,注意,这里可不是通过url访问,通过服务器环境来执行哦,而是直接执行,因为绕过了服务器环境,所以效率当然要高很多。
好了,已经添加了几条需要的定时任务了吧。点击键盘上的Esc键,输入“:wq”回车,这样就保存了设置的定时任务,屏幕上也能看到提示创建了新的定时任务。接下来就是好好写你的script.php了。
关于CronTab的更多用法这里就不介绍了,如果你想更灵活的使用这个定时任务功能,应该自己再去深入学习一下crontab。

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。
与“php定时调度框架 php如何自动执行定时任务”相关推荐
php定时器框架 php如何自动执行定时任务
php定时器框架 php如何自动执行定时任务

thinkphp框架里怎么用linux的crontab写php的定时脚本键入crontab-e编辑crontab服务文件------------------------------------------Ubuntu中的linux---------------安装lynx包:apt-getisntalllynx先写ln.sh脚本:lynx_task.php设置定时:c

2023-09-16 19:08:07
php框架中定时执行脚本 php如何自动执行定时任务
php框架中定时执行脚本 php如何自动执行定时任务

php如何自动执行定时任务PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。本文,我们就来深入的解析几种常见的php定时任务的思路。Linux服务器上使用CronTab定时执行php我们先从相对比较复杂的服务器执行php谈起。服务器上安装了php,就可以执行php文件,无论

2023-10-02 06:59:53
php定时函数框架 php如何自动执行定时任务
php定时函数框架 php如何自动执行定时任务

php如何制作类似setInterval函数PHP定时执行的三种方式实现1、windows的计划任务2、linux的脚本程序3、让web浏览器定时刷新具体实现1、windows计划任务PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务添加执行这个bat脚本。2、linux的

2023-09-09 07:40:58
定时任务调度框架php php如何实现定时任务
定时任务调度框架php php如何实现定时任务

php如何自动执行定时任务PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。本文,我们就来深入的解析几种常见的php定时任务的思路。Linux服务器上使用CronTab定时执行php我们先从相对比较复杂的服务器执行php谈起。服务器上安装了php,就可以执行php文件,无论

2023-08-30 06:50:34
定时执行任务框架php 如何使用Linux的Crontab定时执行PHP脚本的方法
定时执行任务框架php 如何使用Linux的Crontab定时执行PHP脚本的方法

如何使用Linux的Crontab定时执行PHP脚本的方法方法11.在web根目录创建请求的脚本index.php我的文件路径(根据安装路径不同有不同路径):/usr/local/webserver/htdosc/index.php2.创建crontab文件2.1  crontab-e2.2 *****/usr/local/webserver/php/bin/php-cg

2023-09-28 03:39:52
php语言定时任务框架 php定时执行任务的几个方法
php语言定时任务框架 php定时执行任务的几个方法

php定时执行任务的几个方法PHP定时执行的三种方式实现1、windows的计划任务2、linux的脚本程序3、让web浏览器定时刷新具体实现1、windows计划任务PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务添加执行这个bat脚本。2、linux的脚本实现这里主要使用到crontab这个命令,

2023-09-27 23:48:37
php定时框架 php如何实现定时任务,php定时任务方法,最佳
php定时框架 php如何实现定时任务,php定时任务方法,最佳

PHP实现定时任务的几种方法一.简单&lt;?phpignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.set_time_limit(0);//通过set_time_limit(0)可以让程序无限制的执行下去ini_set('memory_limit','512M');//设置内存限制$interval=60*30;//每隔半小时运行do

2023-09-11 05:19:14
php定时框架 php如何实现定时任务
php定时框架 php如何实现定时任务

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

2023-09-11 05:19:26