今天看到dewen里面有人问,如何用php实现浏览器跳转后继续执行后续代码,我写了个demo,在php-fpm环境下非常容易实现,fastcgi_finish_request即可。如果是其它容器,我想只能通过输出javascript到客户端实现跳转,然后后台继续执行。

demo如下,php-fpm测试可用,apache php-cgi由于没有环境没有测试。

// 你要跳转的url

$url = "http://www.baidu.com/";

// 如果使用的是php-fpm

if(function_exists('fastcgi_finish_request')){

header("Location: $url");

ob_flush();

flush();

fastcgi_finish_request();

// Apache ?

}else{

header( 'Content-type: text/html; charset=utf-8' );

if(function_exists('apache_setenv'))apache_setenv('no-gzip', '1');

ini_set('zlib.output_compression', 0);

ini_set('implicit_flush', 1);

echo "";

ob_flush();

flush();

}

// 这里是模拟你的耗时逻辑

sleep(2);

file_put_contents('/tmp/test.log', 'ok');

php如何处理耗时的任务,PHP如何在请求完毕后继续处理耗时任务相关推荐

  1. linux重启服务挂载盘消失,如何处理ECS Linux服务器重启服务器、初始化系统后数据盘不见了的情况...

    本文在介绍如何处理ECS Linux服务器重启服务器.初始化系统后数据盘不见了的情况的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获. ECS Linux服务器重启服务器.初始化系统 ...

  2. 【成为架构师课程系列】消息队列:秒杀时如何处理每秒上万次的下单请求?

    目录 消息队列:秒杀时如何处理每秒上万次的下单请求? #我所理解的消息队列 #削去秒杀场景下的峰值写流量

  3. ajax调用接口很慢,nodejs 请求接口在高并发下耗时很大,而单个请求非常快

    情况: request.js 库请求接口, express.js 做 server ,实现了 curl http://localhost:8080/proxy-api 本地一个地址,在 router ...

  4. MySql索引查询优化 千万级数据普通查询和建立索引后数据查询耗时对比

    前言 索引:拿汉语字典的目录页(索引)打比方,我们可以按拼音.笔画.偏旁部首等排序的目录(索引)快速查找到需要的字. 索引分单列索引和组合索引. 单列索引,即一个索引只包含单个列,一个表可以有多个单列 ...

  5. 宝塔linux数据盘不够用如何处理,帝国cms使用Linux系统数据盘扩容后宝塔控制面板数据盘大小不变的解决方法...

    最近一个帝国cms用户网站服务器,发现磁盘空间不够用了,数据盘50GB的空间只剩下5%,于是给服务器数据盘扩容200G.详细教程如下: 在操作硬盘扩容前,为了安全起见,请通过磁盘快照功能备份服务器系统 ...

  6. php程序耗时是负数,php 代码测试,代码越在前面越耗时

    12 2014-06-16 11:28:16 +08:00 @9 给你一步一步举个例子说明 第一步 函数实现不变,先运行$func() 再运行call_user_func($func); ... $f ...

  7. php同时抢购 代码,php如何处理抢购类功能的高并发请求

    在高并发请求下容易参数两个问题 1.数据出错,导致产品超卖. 2.频繁操作数据库,导致性能下降. 本文主要和大家详细介绍了php处理抢购类功能的高并发请求,具有一定的参考价值,感兴趣的小伙伴们可以参考 ...

  8. 李洪强经典面试题146-网络

    李洪强经典面试题146-网络   网络 http请求方式? 通常,HTTP的请求方式有3种,分别是:POST.GET.HEAD.POST和GET方法是用于数据发送的. POST:它将要发送的数据单独放 ...

  9. NodeJs 面试题 2023

    (要知道对好事的称颂过于夸大,也会招来人们的反感轻蔑和嫉妒.--培根) ㅤㅤㅤ ㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ NodeJs相关 什么是NodeJs Nodejs是一个基于V8虚拟机的Jav ...

  10. iOS基础-高级进阶面试题

    1.OC 语言的基本特点  OC 语言是 C 语言的一个超集,只是在 C 的基础之上加上了面向对象(oop) 的特性; OC 与 Java 语言相同都是单继承,这一点与 C++语言不同(多重继承); ...

最新文章

  1. 腾讯开源基于 mmap 的高性能 key-value 组件 MMKV
  2. ubuntu常用小工具
  3. 中国量子通信再获突破,潘建伟团队完成人类首次洲际量子通信
  4. 图自编码器的起源和应用
  5. easyui edatagrid 触发编辑行回掉onEdit
  6. python cookies过期_Python3中关于cookie的创建与保存
  7. android 使用Binder通信
  8. 云存储技术-Zookeeper集群的安装
  9. 保存验证码的方法_selenium自动化测试:6.验证码处理
  10. windows下gvim8打开文件中文乱码处理
  11. 怎样彻底删除系统服务项
  12. 全球通用头像gravatar介绍
  13. python从入门到精通需要多久-Python从入门到精通:一个月就够了
  14. 刷新输出缓冲区(C++)
  15. 转一篇帖子-我是如何在网上卖鱼的
  16. 设备扩展(DEVICE_EXTENSION)
  17. 老婆背着我在豆瓣发帖:没事别嫁程序员!
  18. 黑马程序员都到兄弟连兄弟会报名去了
  19. CryEngine的Modular Behavior Tree简介
  20. 数码数字字体_数码相机的分类及单反数码相机、卡片数码相机的介绍

热门文章

  1. 随机变量的数字特征(期望、方差、标准差、矩、协方差...)
  2. 理解数据类型与数学运算:摄氏温度与华氏温度的相互转换
  3. BZOJ4598 [Sdoi2016]模式字符串 【点分治 + hash】
  4. eclipse 安装maven
  5. openwrt源码下载移植
  6. shell命令技巧——文本去重并保持原有顺序
  7. iOS 最新版 CocoaPods 的安装流程介绍
  8. IOS-设置NavigationBar的背景及字体颜色
  9. WEB系统技术开发方向
  10. 个类似GoogleMap的客户端JS开源库