Php 当服务器进程仍在运行时,浏览器显示超时
我有以下问题:Php 当服务器进程仍在运行时,浏览器显示超时,php,apache,internet-explorer,browser,timeout,Php,Apache,Internet Explorer,Browser,Timeout,我有以下问题: 我正在运行大内存进程,但已将内存负载划分为较小的块,因此没有CPU超时问题 在服务器中,我正在创建大约100kb大小的.xml文件,它们将被创建大约100+ 现在主要的问题是浏览器显示响应超时,而IE在下面(只是上面的状态栏)显示.php文件下载消息 在此期间,后端(服务器端)进程仍在运行,并以增量顺序不断创建.xml文件。所以这没问题 我有以下php.ini配置 max_execution_time = 10000 ; Maximum execution time of
max_execution_time = 10000 ; Maximum execution time of each script, in seconds
max_input_time = 10000 ; Maximum amount of time each script may spend parsing request data
memory_limit = 2000M ; Maximum amount of memory a script may consume (128MB)
; Maximum allowed size for uploaded files.
upload_max_filesize = 2000M
我在IE上运行我的网站,我使用的是带有PHP5.3的ZSCE
有谁能在这个问题上给我指点正确的方向吗
编辑:
上传超时图像,这就是为什么要求下载.php文件
编辑2:
我简要说明了我的执行流程:
*即将()连接到mylocalhost端口80(#0)
*正在尝试127.0.0.1…*有联系的
*连接到mylocalhost(127.0.0.1)端口80(#0)
\>获取myurl HTTP/1.1
主持人:mylocalhost
接受:*/*
免责声明:根据选择的答案,根据第一个小成功选择此问题的答案。当出现此类问题时,@Hakre的解决方案也是可行的。但是现在没有答案解决了我的问题。Hakre的回答也更加详细,以防有人查找有关此类问题的更多详细信息。问题在于您的web服务器,而不是浏览器
如果您使用的是Apache,则需要在httpd.conf或virtual hosts config上调整超时值。是否可以在脚本仍在处理时将一些输出发送到浏览器,即使是空白?如果这样做,则应重置超时计数器 如果不可能,则必须增加注册表中IE的超时时间:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
您需要ReceiveTimeout,如果它不存在,则将其创建为dword,并以毫秒为单位设置值。我在读取大型csv文件并将其放入数据库时多次遇到此问题。我用一种方法解决了这个问题,我把读取和放入数据库的过程分成了几个较小的部分。就像我创建了一个新表来记录读取和插入了多少数据,下一次页面重新加载并从该位置开始。所以,您可以通过一次尝试创建一个xml,然后重新加载页面并从下一个页面开始。这样,浏览器使用的内存就会被刷新。 希望能有所帮助。什么是“CPU超时问题” 解决此问题的正确方法是异步运行繁重的内容(而不是Web服务器进程树)。您有3个页面
尝试包括
设置时间限制(0)代码>在PHP脚本页面中
以下链接可能会对您有所帮助
假设您进行了所有服务器端修改,从而避开了服务器超时[我几乎看到了上面解释的所有内容],为了避开浏览器超时,您必须这样做
<?php
set_time_limit(0);
error_reporting(E_ALL);
ob_implicit_flush(TRUE);
ob_end_flush();
一,。我正在运行大内存进程
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
<?php
set_time_limit(0);
error_reporting(E_ALL);
ob_implicit_flush(TRUE);
ob_end_flush();
<?php
echo 'dummy text or execution stats';
ob_flush();