php - 网页在长脚本上超时
问题描述
我有一个非常长的 php 脚本(最多 4 小时),脚本部分工作正常。它运行整个 4 小时。不会超时但我希望在我的浏览器中得到结果,在浏览器端,+- 35-40 分钟后,浏览器停止加载(firefox)并返回一个空页面。
我知道可能有十几种方法可以让我得到结果,而无需打开浏览器。但我不是在寻找那个。
我真的不知道从哪里开始解决这个问题。比如,这是浏览器问题还是服务器问题?注意事项:
- 浏览器返回空屏时php脚本不会停止(没有错误信息,并且脚本本身一直在运行)
- 如果我拆分脚本并让它在 10 分钟后刷新浏览器窗口,它仍然会在 +-40 分钟后返回一个空页面
- 如果我运行 2 个脚本,它们会同时停止
- 我的服务器端没有错误消息
- 如果我只是有一个带有 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>
解决方案
推荐阅读
- python - 如何在 keras/tensorflow 中将图像拆分为补丁/子图像?
- javascript - jQuery .load() 不让我填写输入文本
- python - 如何让所有 ResNet50 层都出现在 model.summary 中?
- flutter - 读取 wav 音频文件并在 dart 和 flutter 中获取与时间相关的幅度数据以进行绘图
- firebase - 如何在firebase中更新url img
- python - bisect 中的 insort_left 和 insort_right 有什么区别?
- vaadin14 - 使 SplitLayout 位置在选项卡之间保持粘性
- node.js - 使用 Socket.io 在 React Native 移动应用程序中不起作用
- python - 在 Python 中使用 Deep Zoom 更改缩放级别
- json - 在由模式分隔的多个部分中剪切一条线,读取和重写 .json 文件