首页 > 解决方案 > 网页在长脚本上超时

问题描述

我有一个非常长的 php 脚本(最多 4 小时),脚本部分工作正常。它运行整个 4 小时。不会超时但我希望在我的浏览器中得到结果,在浏览器端,+- 35-40 分钟后,浏览器停止加载(firefox)并返回一个空页面。

我知道可能有十几种方法可以让我得到结果,而无需打开浏览器。但我不是在寻找那个。

我真的不知道从哪里开始解决这个问题。比如,这是浏览器问题还是服务器问题?注意事项:

  1. 浏览器返回空屏时php脚本不会停止(没有错误信息,并且脚本本身一直在运行)
  2. 如果我拆分脚本并让它在 10 分钟后刷新浏览器窗口,它仍然会在 +-40 分钟后返回一个空页面
  3. 如果我运行 2 个脚本,它们会同时停止
  4. 我的服务器端没有错误消息
  5. 如果我只是有一个带有 sleep(4800) 的脚本,也会发生同样的问题;在里面

php 脚本以:

set_time_limit(0);
ini_set('max_execution_time', '0');

在 htaccess 我有:

RewriteRule (myfile)\.php - [E=noconntimeout:1]
RewriteRule (myfile)\.php - [E=noabort:1]

在 php.ini 中,我有 -1 和 4096m 内存等的执行时间。

tldr:当脚本继续时,浏览器有点超时(没有错误,但返回空屏幕)。我该如何防止这种情况,或者我应该在哪个区域寻找问题?

编辑:如果我建立一个循环,并拆分睡眠(4800);例如:睡眠(1200);然后用 javascript 重新加载页面(总共 4 次)。我仍然遇到同样的问题

<script type="text/javascript">
var php_varurl = "<?php echo myurl; ?>";
newwindow=window.open(php_varurl, '_self');
</script>

标签: phphttpfirefoxtimeoutlitespeed

解决方案


推荐阅读