php - 是否仍然,或者曾经,*实际上*可以“将网页发送到客户端”,然后在 PHP 脚本完成之前继续工作?
问题描述
目前发生这种情况:
- 有人请求https://www.example.com/
- 我的 PHP 脚本会做一些事情,包括许多 SQL 查询,为每个查询添加条目到数组中。
- 我运行我的“刷新数据库日志”函数,该函数循环遍历该数组并将 SQL 查询插入到我的数据库查询日志中。
- 脚本完成,因此将所有 HTML 输出发送到客户端。
为了防止客户不得不等待超过必要的时间,我希望这样发生:
- 有人请求https://www.example.com/
- 我的 PHP 脚本会做一些事情,包括许多 SQL 查询,为每个查询添加条目到数组中。
- 该脚本将输出发送到客户端。
- 我运行我的“刷新数据库日志”函数,该函数循环遍历该数组并将 SQL 查询插入到我的数据库查询日志中。
- 脚本完成,用户不必等待“刷新数据库日志”功能,从用户的角度来看,该功能在页面加载后执行。
我知道PHP 中的各种flush
,ob_flush
和800 种不同的函数。ob_flush_clean
我也知道,用户评论和一般在线建议充满了关于这不再起作用或从未起作用的警告,显然取决于服务器的网络服务器/操作系统。
我能否一劳永逸地得到一个 2020 年的答案,看看这是否有效?而且,如果它确实有效,我应该使用哪个功能来“已经发送网页;就用户而言,我已经完成了”?
解决方案
推荐阅读
- java - Junit5测试无法注入依赖但正常运行的应用程序可以注入它
- azure - Azure Pipelines:比较两个日期之间的测试结果
- function - C++ 中的套接字编程问题
- python - Vigenere Cipher 用于带有空格的句子
- sql - 连接后从两个差异表中过滤列
- angular - 在构建操作中使用 Github Actions 机密是否安全
- .net - 用于 JSON 自动的 SQKATA
- reactjs - 如何使用不同的支付选项在 React 中实施 PayPal?
- python-3.x - 拒绝主 -> 主(预接收挂钩被拒绝)
- scala - 使用火花流解析事件中心复杂数组类型消息