PHP 有没有办法关闭连接(本质上告诉浏览器没有更多数据)但继续处理。我想到的具体情况是,我想要提供缓存数据,那么如果缓存已过期,我仍然会提供缓存数据以获得快速响应,关闭连接,但继续处理以重新生成并缓存新数据数据。本质上,唯一的目的是使网站显得响应更快,因为在用户等待内容重新生成时不会偶尔出现延迟。
UPDATE:
PLuS 提供了最接近我所寻找的答案。为了向一些人澄清,我正在寻找能够实现以下步骤的东西:
- 用户请求页面
- 连接打开到服务器
- PHP 检查缓存是否已过期,如果仍然新鲜,则提供缓存并关闭连接(此处结束)。如果过期,继续执行4。
- 提供过期缓存
- 关闭连接,以便浏览器知道它没有等待更多数据。
- PHP 重新生成新数据并缓存它。
- PHP 关闭。
UPDATE:
这一点很重要,它必须是一个纯粹的PHP解决方案。安装其他软件不是一个选择。
如果在 fastcgi 下运行,你可以使用非常漂亮的:
fastcgi_finish_request();
http://php.net/manual/en/function.fastcgi-finish-request.php http://php.net/manual/en/function.fastcgi-finish-request.php
可以获取更详细的信息在重复的答案中 https://stackoverflow.com/a/10101623/367456.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)