gpt4 book ai didi

php - 为什么 PHP 刷新并不总是有效,页面 1/5 次未正确加载?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:39:24 25 4
gpt4 key购买 nike

一个大型的 php 脚本使用 flush 将生成的 html 的一部分发送到浏览器,同时它正在执行脚本的大部分,这需要 appr。 20 秒。

刷新后正在执行的脚本部分非常大,占用了很多服务器储备(90% cpu)。

页面有 5 次会保持空白(白色),这意味着冲洗没有到达以发送显示页面正在加载的图像。当程序完成并且应该将整个页面发送到浏览器时,页面也保持空白(浏览器指示它仍在加载)。

显着:当我按下后退按钮时,整个页面会显示(应该在整个脚本执行后加载到浏览器中)一秒钟,然后浏览器返回到上一页。

所有其他 4 次页面加载良好。 php 脚本的输入在所有 5 次中都是相同的。

我的 .htacces 文件中有这些设置:

addhandler x-httpd-php5-cgi .php5 
addhandler x-httpd-php5-cgi .php5
addhandler x-httpd-php5-cgi .php5
Header Set Cache-Control "max-age=0, no-store"

这是将生成的代码刷新到浏览器的语句:

print str_pad('',4096)."\n";
ob_flush();
flush();

是什么导致了这个问题?

最佳答案

您只能提示:flush() 将它发送到可以缓冲/等待的 apache/web 服务器,然后将它发送到具有任意数量的可以缓冲/等待的代理的网络,这最终出现在您的浏览器中,浏览器也可以决定缓冲/等待。如果您不想处理所有这些令人头疼的问题,请选择异步方法。 Gearman 使它变得非常简单,但当然不是绝对必要的。

关于php - 为什么 PHP 刷新并不总是有效,页面 1/5 次未正确加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10503059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com