php定时执行任务

本文介绍了如何在Linux和Windows Server上设置PHP定时任务。在Linux中,使用crond命令实现每分钟执行一次URL;在Windows Server上,通过编写PHP脚本、创建批处理文件和设置计划任务来达到定时执行目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一个项目需要在服务器上每隔1分钟执行一次控制器的方法,从网上找了一下可以用计划任务来执行,自己也走了不少弯路,linux稍微简单一下,因为测试服务器是linux,客户用的是windows ,所以正好两种方式都用到了。

简单说明一下我的需求,我需要服务器定时来执行一个网址即可,因为我在控制器中写好了方法,整个网址用的tp框架,所以很多网上写的代码可以模仿,但不能直接拿来用。

1、linux 

  crond 是linux用来定期执行程序的命令,具体的使用方法可以百度或者查看其它详细的文档,这里不做详细说明,只说明如何通过crond来做一个定时任务。

有2中方法添加任务:

1.在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

2.直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。

如:

* * * * * sleep 1; /usr/bin/curl http://www.sxfewwa.com/Home/JPush/autoConfirm

  每隔一分钟 用curl 方式执行一次 这个链接

分     小时    日    月       星期      命令

0-59   0-23   1-31   1-12     0-6     command     (取值范围,0表示周日一般一行对应一个任务)

2、windows server 

第一步,编写好自己的方法,php文件,测试的话可以用 test.php 代码如下:

<? 

$fp = fopen("test.txt", "a+"); 

fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!\n"); 

fclose($fp); 

?> 

如果是用的thinkphp,和我一样的话,Controller 中的方法和其他一样,当然可以添加一个

function test(){

    $fp = fopen("test.txt", "a+"); 

    fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!\n"); 

    fclose($fp); 

}

第二步:写bat文件

set link=http://www.sxfewwa.com/Home/JPush/autoConfirm

Start iexplore "%link%"

Ping -n 80 127.1>nul

Taskkill /f /im "iexplore.exe"

3、windows 稍微麻烦一些,需要在管理工具->计划任务,中创建一个任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值