成都网站建设设计

将想法与焦点和您一起共享

thinkphp定时执行php文件

建站服务器

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

创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、网站设计、城关网络推广、重庆小程序开发、城关网络营销、城关企业策划、城关品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供城关建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

简单说明一下我的需求,我需要服务器定时来执行一个网址即可,因为我在控制器中写好了方法,整个网址用的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(){

}

第二步:写bat文件

set link=

Start iexplore %link%

Ping -n 80 127.1>nul

Taskkill /f /im iexplore.exe

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

过程可以查看(http://blog.csdn.net/woshixuye/article/details/18050769)网上也有很多类似的文章。


分享名称:thinkphp定时执行php文件
当前链接:http://chengdu.cdxwcx.cn/article/chsipi.html