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

PHP实现定时任务的几种方式,第1张

一. 简单

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

$ch=curl_init()

//设置请求

curl_setopt($ch,CURLOPT_URL,"写上要请求的URL")

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1)

curl_setopt($ch,CURLOPT_HEADER,0)

$output=curl_exec($ch)

curl_close($ch)

echo date("Y-m-d H:i:s",time())."_".$output."\r\n"

然后给文件可执行权限:chmod +x demo.php

然后修改定时任务执行的文件:使用命令行:crontab -e 打开定时任务文件,加入:

30 17 * * * /usr/bin/php -f /home/task/crontab.php >>/home/task/task.log

1

解释一下时间的概念,比如像上面这就相当于每天的17:30分执行任务。完成以上就可以开启计划任务了,使用命令行:

service cron start

以上就可以开启这个PHP定时任务了,同时会将echo 的返回值写入到task.log文件中。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11961215.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存