Php中Ignore_user_abort函数的用法

PHP中的ignore_user_abort函数是当用户关掉终端后脚本不停止仍然在执行,可以用它来实现计划任务与持续进程,下面会通过实例讨论ignore_user_abort()函数的作用与用法。

ignore_user_abort() 可以实现当客户端关闭后仍然可以执行PHP代码,可保持PHP进程一直在执行,可实现所谓的计划任务功能与持续进程,只需要开启执行脚本,除非 apache等服务器重启或有脚本有输出,该PHP脚本将一直处于执行的状态,初看很实用,不过代价是一个PHP执行脚本的持续进程,开销很大,但却可以实现很多意想不到的功 能。

其描述为设置与客户机断开是否会终止脚本的执行。

一,函数原型

int ignore_user_abort ( [bool setting] )

二,版本兼容

PHP 3 >= 3.0.7, PHP 4, PHP 5

三,函数基础用法与实例

1,函数基础用法

说明:调用ignore_user_abort()函数声明即使客户机断开不终止脚本的执行。

2,结合set_time_limit()函数实现一个循环脚本执行任务

 <?php 
 
 ignore_user_abort(); 
 
 set_time_limit(0); 
 
 $interval=60*15; 
 
 do{ 
 
 //执行的业务 
 
}while(true); 
 
?> 
说明:每隔15分钟循环执行

3,自定义实现文件输出并跟踪ignore_user_abort()函数的执行结果

<?php 
 
gnore_user_abort ( TRUE ); 
 
set_time_limit ( 0 ); 
 
$interval = 10; 
 
$stop = 1; 
 
do { 
 
if( $stop == 10 ) break; 
 
file_put_contents('viphper.php',' Current Time: '.time()。' Stop: '.$stop); 
 
$stop++; 
 
sleep ( $interval ); 
 
} while ( true ); 
 
?> 
打开viphper.php文件,文件内容如下:

Current Time: 1273735029 Stop: 9

其原理是即使客户端终止脚本,仍然每隔10秒钟执行一次,并打印出当前时间与终止点,这样就可以测试出ignore_user_abort()函数的具体效果。

通过实例发现ignore_user_abort()函数非常实用,实现计划任务,完成后续任务,持续进程等非常有效。

时间: 2024-11-01 19:18:02

Php中Ignore_user_abort函数的用法的相关文章

js中reverse函数的用法详解

 本篇文章主要是对js中reverse函数的用法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 reverse()方法用于颠倒数组中元素的顺序   注意:该方法会改变原来的数组,而不会创建新的数组.   例子:  var  str = ['1','2','3'];   document.write(a);   输出:3,2,1    

javascript中match函数的用法小结

 本篇文章主要是对javascript中match函数的用法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 javascript中的match函数是使用正则表达式对字符串进行查找,并将查找的结果作为数组返回,在实际开发中非常的有用,使用方法如下:  stringObj.match(rgExp)  其中stringObj是必选项.对其进行查找的 String 对象或字符串文字.  rgExp是必选项.为包含正则表达式模式和可用标志的正则表达式对象.也可以是包含正则表达式模式和可

Jquery中map函数的用法_jquery

很久没用map()这个函数了,由于最近看一篇react的文章,其中有谈到map()这个函数,于是就重新查了一些资料,发现map()函数可以用在不同的地方,下面小编总结具有内容分享给大家,也方便今后查找. 其实,本人一直很少用map()这个函数,因为最近看一篇React的文章,其实有谈及map()函数,于是自己也重新查了一些资料,发现map()函数也可以用在不同的地方: map()函数把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的Jquery对象 语法:.map(callback(i

AngularJS中一般函数参数传递用法分析_AngularJS

本文实例讲述了AngularJS中一般函数参数传递用法.分享给大家供大家参考,具体如下: 1. 模型参数 直接使用变量名,不要加引号 <!doctype html> <html ng-app="passAter"> <head> <meta charset="utf-8"/> </head> <body> <div ng-controller="passCtrl">

简述Matlab中size()函数的用法_javascript技巧

size()函数用来获取矩阵的行数和列数. (1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数. (2)[r,c]=size(A), 当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c. (3)size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数.其中r=size(A,1)该语句返回的时矩阵A的行数, c=si

Sql Server中Substring函数的用法实例解析_MsSql

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'

Sql Server中Substring函数的用法实例解析

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'

Excel中IsDate函数的用法

一.IsDate 函数语法 IsDate函数功能:返回 Boolean 值,指出一个表达式是否可以转换成日期. 语法 IsDate(expression) 必要的 expression 参数是一个 Variant,包含日期表达式或字符串表达式,这里的字符串表达式是可以作为日期或时间来认定的. 说明 如果表达式是一个日期,或可以作为有效日期识别,则 IsDate 返回 True;否则返回 False.在 Microsoft Windows 中,有效日期的范围介于公元 100 年 1 月 1 日与公

oracle中decode函数的用法

oracle函数库中提供了很多有用的函数,比如nvl,sign,round等,其中用得比较多的,功能比较大的还是decode这个函数.这个函数的用法如下: decode(表达式,条件1,结果1,条件2,结果2,...)中间有几个条件与结果根据个人而定,如 decode(sign(100-20),1,20,-1,100)意思是说当(100-20)大于零时,结果为20,而当(100-20)小于零时,结果为100,其中的sign只是一个判断符号的函数 假如要对一个企业的员工进行工资调整,对于3000块