如何使用PHP覆盖Apache keep-alive头?

时间:2013-03-09 07:33:31

标签: php apache http web

在我的httpd.conf中有:

KeepAliveTimeout 1

我正在尝试在单个 php脚本(而不是整个服务器)中覆盖Apache KeepAliveTimeout设置,所以我有一个php脚本:

header("Keep-Alive: timeout=60, max=100"); 

但它似乎没有任何区别。我还是得到了答复:

Keep-Alive:timeout=1, max=50

任何想法如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

你做不到。它是有正当理由的。

Apache v2.2 Core Features

KeepAliveTimeout指令

  

Apache之前等待后续请求的秒数   关闭连接。收到请求后,超时   超时指令指定的值适用。

     

KeepAliveTimeout 设置为较高的值可能会导致性能下降   重载服务器中的问题。超时越高,越多   服务器进程将等待连接等待   空闲的客户。

答案 1 :(得分:0)

尝试在.htaccess文件中结合FilesMatch指令进行设置。请参阅this post

答案 2 :(得分:0)

<?php
header('Connection: close');
// other php code here...
// ...

From RFC 2616, Section 14.10:

  

HTTP / 1.1定义&#34;关闭&#34;发件人的连接选项   表示完成后连接将被关闭   响应。例如,

   Connection: close
     请求或响应头字段中的

表示   连接不应该被认为是“持久的”#39; (第8.1节)
  当前请求/响应完成后。

     

不支持持久连接的HTTP / 1.1应用程序   必须包括&#34;关闭&#34;每条消息中的连接选项。

相关:What does “Connection: close” mean when used in the response message?