某某茶叶有限公司欢迎您!
金沙棋牌在线 > 金沙棋牌在线 > 浏览器关闭后,能继续推行的php函数(ignore

浏览器关闭后,能继续推行的php函数(ignore

时间:2020-02-16 01:25

多的不说,直接上代码:
复制代码 代码如下:
ignore_user_abort(true卡塔尔; //设置顾客端断开连接时是不是中断脚本的推行
set_time_limit(0);
$file = '/tmp/ignore_user.txt';
if(!file_exists($file)) {
file_put_contents($file);
}
if(!$handle = fopen($file,'a+b')){
echo "not open file :".$file;
exit;
}
$i=0;
while($i<100) {
$time = date("Y-m-d H:i:s",time());
echo $time."n";
if(fwrite($handle,$time."n")===false) {
echo "not write file:".$file;
exit;
}
echo "write file time:".$time."n";
$i++;
sleep(2);
}
fclose($handle);

备忘一下这些函数:
函数名称:ignore_user_abort
本函数配置或得到使用端连接中断后,PHP 程序是不是仍继续施行。暗中认可值为中断连接后就止住施行。在 PHP 配置文件中 (php3.ini/php.ini卡塔尔 的 ignore_user_abort 选项正是配置处。本成效在 PHP 3.0.7 版之后才最早提供。
法定表达:

初藳链接:

利用格局:
复制代码 代码如下:
ignore_user_abort(trueState of Qatar; //就算Client断开(如关掉浏览器卡塔尔,PHP脚本也得以持续施行.

前提:这里说的是第超级的lnmp构造,nginx+php-fpm的方式

那般就足以兑现安插任务效果了.不过依旧要客商端访谈程序才行.
举个例子说在转移静态页面、搜聚的时候,没有供给在等候了。关掉浏览器吧。
例子:
复制代码 代码如下:
//test
set_time_limit(0);
ignore_user_abort(true);
$i = 0 ;
while($i ++ < 200){
file_put_contents($i.'.php' , $i);
sleep(3);
}

若是小编有个php程序试行地十二分慢,以至于在代码中sleep(卡塔尔,然后浏览器连接上服务的时候,会运转三个php-fpm进度,可是那时,如若浏览器关闭了,那么请问,那时候服务端的那些php-fpm进度是还是不是还恐怕会三番两次运转吧?

用ignore_user_abort函数完毕php安排职分
复制代码 代码如下:
ignore_user_abort(true);
set_time_limit(0);
while(1) {
  $fp = fopen('time_task.txt',"a+");
  $str = date("Y-m-d h:i:s")."nr";
  fwrite($fp,$str);
  fclose($fp);
  sleep(5卡塔尔(قطر‎; //半个小时推行三次
}
?>

明日正是要解决那些主题素材。