首页 >后端开发 >PHP问题 > 正文

PHP访问结束如何继续处理

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

demo如下,php-fpm测试可用,apache php-cgi由于没有环境没有测试。 (推荐学习:PHP视频教程

<?php
// 你要跳转的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 "<script>location='$url'</script>";
    ob_flush();
    flush();
}
 
    // 这里是模拟你的耗时逻辑
    sleep(2);
    file_put_contents('/tmp/test.log', 'ok');

以上就是PHP访问结束如何继续处理的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:PHP
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息
    推荐视频教程
  • 行业大牛 ,细说PHP作者,现身PHP中文网直播送书300本,PHP中文网学员超级福利!行业大牛 ,细说PHP作者,现身PHP中文网直播送书300本,PHP中文网学员超级福利!
  • 《php全栈开发经验分享》连续4天大型公益直播!《php全栈开发经验分享》连续4天大型公益直播!
  • php全栈开发之小博客大智慧php全栈开发之小博客大智慧
  • PHP每日小知识(第二季)PHP每日小知识(第二季)
  • 视频教程分类