我有以下问题:
- 我正在运行 BIG 内存进程,但已将内存负载划分为较小的块,因此没有 CPU 超时问题。
- 在服务器中,我正在创建大约 100kb 大小的 .xml 文件,它们将被创建大约 100+。
- 现在的主要问题是浏览器显示响应超时,下面的 IE(只是上部状态栏)显示 .php 文件下载消息。
- 在此期间,后端(服务器端)进程仍在运行并以增量顺序不断创建 .xml 文件。所以没有问题。
我有以下 php.ini 配置。
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 上运行我的网站。我正在使用带有 PHP 5.3 的 ZSCE
任何人都可以在这个问题上以正确的方式重定向我吗?
编辑:
上传 Time out 的图片,这就是为什么要求下载 .php 文件。
编辑2:
我简单解释一下我的执行流程:
- 我有一个带有类层次结构对象的 PHP 文件,它将开始从每个类层次结构执行 Function1()。
- 我有类文件。
- 首先,假设执行 Function1(),其中包含以块的形式创建 XML 文件的逻辑。
- 其次,假设执行 Function2(),它将显示 Function1() 生成的输出。
一切都以类层次结构的方式完成。因此,在 Function1() 执行之前,我无法终止它的执行。之后 Function2() 将被调用。
编辑3:
正如您提出的一些交叉问题,我同意一些观点,但让我更详细地描述这个问题。
首先,我一次加载大约 100+ MB 大小的 XML 文件,这就是为什么我的本地设置中的内存挂起并停止机器上的所有内容,而 CPU 时间正在利用其大部分资源。
然后,我将这个大尺寸的 XML 文件分成小尺寸(意味着现在我一次加载单个 XML 文件,然后在使用后将其卸载)。这使我免于本地设置的内存过载和 CPU 问题。
现在我的后端进程没有运行 CPU 或内存问题,但问题在于浏览器超时。我什至尝试过 cURL,但根据我当前的结构,由于我的类层次结构问题,它似乎确实适合。我有一组层次结构的类,它们都首先执行它们的 Process 函数,然后它们都执行它们的 Output 函数。因此,除非并且直到处理函数被执行,否则输出函数不会出现,这就是浏览器显示超时的原因。
我什至按照@vortex 建议的说明进行操作,但收效甚微,但不是我想要的。为什么我无法实现 cURl,因为我的流程功能是一次性创建所需的 XML 文件,因此输出到浏览器需要太多时间。由于 Process 函数花费了这么多时间,除非并且直到它完成,否则无法将输出分配给客户端。
卷曲输出:
URL....: myurl
Code...: 200 (0 redirect(s) in 0 secs)
Content: text/html Size: -1 (Own: 433) Filetime: -1
Time...: 60.437 Start @ 60.437 (DNS: 0 Connect: 0.016 Request: 0.016)
Speed..: Down: 7 (avg.) Up: 0 (avg.)
Curl...: v7.20.0
test.txt 文件的内容
* About to connect() to mylocalhost port 80 (#0)
* Trying 127.0.0.1... * connected
* Connected to mylocalhost (127.0.0.1) port 80 (#0)
\> GET myurl HTTP/1.1
Host: mylocalhost
Accept: */*
< HTTP/1.1 200 OK
< Date: Tue, 06 Aug 2013 10:01:36 GMT
< Server: Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/0.9.8o
< X-Powered-By: PHP/5.3.9-ZS5.6.0 ZendServer
< Set-Cookie: ZDEDebuggerPresent=php,phtml,php3; path=/
< Cache-Control: private
< Transfer-Encoding: chunked
< Content-Type: text/html
<
* Connection #0 to host mylocalhost left intact
* Closing connection #0
免责声明:此问题的答案是根据所选答案的第一个小成功来选择的。当出现此类问题时,@Hakre 的解决方案也是可行的。但现在没有答案解决了我的问题,但一点点。如果人们找到有关此类问题的更多详细信息,Hakre 的答案也更详细。