文档章节

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

adbug
 adbug
发布于 2015/05/06 21:01
字数 453
阅读 28
收藏 0

我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现。但这两种方法都不太可靠,不稳定。我们可以借助Linux的Crontab工具来稳定可靠地触发PHP执行任务

下面介绍Crontab的两种方法。 

一、在Crontab中使用PHP执行脚本 

就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。 
每一小时执行myscript.php如下: 

复制代码代码如下:


# crontab -e 
00 * * * * /usr/local/bin/php /home/john/myscript.php 


/usr/local/bin/php为PHP程序的路径。 

二、在Crontab中使用URL执行脚本 

如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。 
下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。 

复制代码代码如下:


00 * * * * lynx -dump http://www.jb51.net/myscript.php 


下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl -o”选项,你也可以把脚本的输出转储到临时文件。 

复制代码代码如下:


*/5 * * * * /usr/bin/curl -o temp.txt http://www.jb51.net/myscript.php 


下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件。 

复制代码代码如下:


*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.jb51.net/myscript.php 


© 著作权归作者所有

adbug
粉丝 7
博文 176
码字总数 198249
作品 0
成都
私信 提问
PHP不支持多线程,有时候处理问题不是那么爽,今天谈论一下PHP定时执行的方法

PHP定时执行的三种方式实现 1、windows 的计划任务 2、linux的脚本程序 3、让web浏览器定时刷新 具体实现 windows计划任务 PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大...

anziguoer
2014/04/10
4.4K
2
用php实现异步执行任务的队列(二)

六、队列具体实现三:写执行队列的程序 根据设计,执行队列的程序文件是 doqueue.php , 它的主要功能是把任务从队列表里取出来,并且在后台执行。 doqueue.php部分代码: 七、具体任务的业务...

_c_q
2016/09/08
502
0
PHP 每隔几秒执行一次

背景是这样的:我需要一段PHP代码去定期对数据库操作,并把结果保存起来。如果方法是用户请求的时候来触发执行这个代码,显然用户的响应时间变长,影响用户体验!如果利用操作系统的定时任务...

lixiaokai2008
2016/09/11
157
0
php定时任务管理工具

CrontabWorker 此工具是一个php定时任务管理工具,支持大量PHP定时脚本,采用预派生进程模型,父进程负责计算定时任务间隔逻辑向消息队列写入任务,子进程负责处理消息队列任务,当处理任务进程数...

莫问出处丶
2017/11/18
0
0
php队列的实现思路和详细过程

一、队列使用场景:为什么需要队列 在web开发中,我们经常会遇到需要处理批量任务的时候,这些批量任务可能是用户提交的,也可能是当系统被某个事件触发时需要进行批量处理的,面对这样的 任...

snowing1990
2016/11/30
64
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周五乱弹 ——不知道假装开心,装的像么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :天黑了 你很忧愁, 你说世界上, 找不到四块五的妞, 行走在凌晨两点的马路上, 你疲倦地拿着半盒黄鹤楼。#今日歌曲推荐# 《四块...

小小编辑
今天
2.2K
18
64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
昨天
69
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
昨天
34
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
昨天
124
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
昨天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部