首页 > 后端开发 > 正文

如何实现php定时执行任务,且时间是可配置的

2024-07-23 17:46:49 | 我爱编程网

小编今天整理了一些如何实现php定时执行任务,且时间是可配置的相关内容,希望能够帮到大家。

本文目录一览:

如何实现php定时执行任务,且时间是可配置的

php定时任务。求助

可以使用ignore_user_abort();函数来实现定时器,这个函数只需要启动一次,浏览器关掉也可以一直运行,除非重启服务器;若是linux服务器,可用linux的定时器,执行一个文件,把方法写在文件里就可以

如何实现php定时执行任务,且时间是可配置的

如何实现php定时执行任务,且时间是可配置的

linux下可以 crontab执行如(crontab -e编辑,crontab -l查看)0 1 * * * php test.php #每天01:00执行一次test.php*/5 * * * * php test.php #每5分钟执行一次test.phpphp自身实现:可sleep实现
<?php
function func()
{
//实现要做的事
}
while(true)
{
sleep($n);//$n为秒数
func();
}
?>

如何实现php定时执行任务,且时间是可配置的

php如何制作类似setInterval函数

我爱编程网(https://www.52biancheng.com)小编还为大家带来php如何制作类似setInterval函数的相关内容。

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(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
    //这里是你要执行的代码    
    sleep($interval);
}while(true);

以上就是我爱编程网小编为大家带来的内容了,想要了解更多相关信息,请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“如何实现php定时执行任务,且时间是可配置的”相关推荐
java定时执行一个方法 java 定时任务的几种实现方式
java定时执行一个方法 java 定时任务的几种实现方式

java定时执行一个方法现在能想到的是三种方法能实现:1、普通thread实现:是最常见的,创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果。2、TimerTask:启动和去取消任务时可以控制,第一次执行任务时可以指定你想要的delay时间。3、ScheduledExecutorService实现:最理想的定时任务实现方式,相比于

2024-05-13 15:28:55
java 如何设定时间执行程序?
java 如何设定时间执行程序?

java如何设定时间执行程序?importjava.util.Calendar;\x0d\x0aimportjava.util.Date;\x0d\x0aimportjava.util.Timer;\x0d\x0aimportjava.util.TimerTask;\x0d\x0a\x0d\x0apublicclassTest{\x0d\x0apublicstaticvoidmain(Str

2024-03-18 12:42:35
如何让java定时执行一个方法
如何让java定时执行一个方法

如何让java定时执行一个方法现在能想到的是三种方法能实现:1、普通thread实现:是最常见的,创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果。2、timertask:启动和去取消任务时可以控制,第一次执行任务时可以指定你想要的delay时间。3、scheduledexecutorservice实现:最理想的定时任

2024-04-20 07:04:57
php中如何获得当前时间?
php中如何获得当前时间?

phpdate函数phpdate函数是什么呢?不知道的小伙伴来看看小编今天的分享吧!1、定义和用法date()函数格式化本地日期和时间,并返回格式化的日期字符串。2、语法date(format,timestamp);返回将整数timestamp按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp是可选的,默认值为time()

2024-07-17 20:25:39
php怎么获取数组里面时间是否为当天的时间?
php怎么获取数组里面时间是否为当天的时间?

php怎么获取数组里面时间是否为当天的时间?//当天时间$TodayStartTime=strtotime(date('Y-m-d',time())."00:00:00");$TodayEndTime=strtotime(date('Y-m-d',time())."23:59:59");//定义变量$timesForToday=0;$sumForLirun=0;if(

2024-07-20 16:59:47
RxJava怎么实现多个线程同时执行,怎么实现retryWhen
RxJava怎么实现多个线程同时执行,怎么实现retryWhen

RxJava怎么实现多个线程同时执行,怎么实现retryWhen在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题,Java实现线程同步的方法很多,具体如下。(1)synchronized关键字在Java中内置了语言级的同步原语synchronized关键字,其在多线程条件下实现了对共享资源的同步访问。根据synchronized关键字修饰的对象不同可以分

2024-04-13 05:00:28
怎么用Python实现时间加减运算?
怎么用Python实现时间加减运算?

1.+编写程序,简单的加减运算,单步调试。信息输出窗口观察程序、数据所占用?这task可以使用任何一种编程语言来实现,以下是一个Python的例子:#定义两个变量,用于加减运算a=5b=3#加法运算result_add=a+b#减法运算result_sub=a-b#输出结果print("加法运算的结果是:",result_add)print("减法运算

2024-01-06 20:18:27
如何用java实现一个计时器?
如何用java实现一个计时器?

JAVA计时器求大神//声明图形界面元素private JLabel lab_time;private JButton but_start;private JButton but_end;private JButton but_reset;//初始化界面元素,布局,注册时间监听器setLayout(null);setSize(400, 300);lab_time = new JLabel("

2024-06-18 13:44:35