利用fastcgi_finish_request()函数,提高页面响应速度

  本周有个任务,是通过页面触发指定脚本。刚开始的时候是使用popen,使用管道进程跑脚本,刚开始的没考虑到超时问题,后来发现脚本如果跑的时间长会超时,超时后页面和nginx断开了,脚本也停止了。学习到了ignore_user_abort(true),即使页面请求断开,脚本也还会执行,设置set_time_limit(0),超时时间不设置。这样就可以页面请求发起后,脚本一直运行。但是因为脚本时间运行长,长时间不返回消息会让使用者困惑,因此这里就需要使用fastcgi_finish_request函数。当PHP运行在FastCGI模式时才可以使用。

示例如下:

  1. echo '这里会输出给页面';
  2. fastcgi_finish_request();
  3. echo '这里的不会输出';
  4. // 执行脚本内容;
posted @ 2020-06-02 20:20  星月残雪  阅读(330)  评论(0编辑  收藏  举报