我使用http://www.webpagetest.org工具检查网页,这表示保持活动未激活。我对此进行了研究,并转到How can I enable keep-alive?和Changing PHP $_SERVER['HTTP_CONNECTION'] value
在此之后,我在.htaccess文件中尝试了<ifModule mod_headers.c> Header set Connection keep-alive </ifModule>
。 http://www.webpagetest.org工具仍指示保持活动状态未激活。
我联系了托管公司,他们表示启用了Keep-Alive。
我制作了一个简单的html测试文件(称为test.html),它试图加载两个图像,一个来自服务器,它没有保持活着(称之为notalive),另一个来自服务器(称之为活着)所指示的http://www.webpagetest.org工具保持活着。
结果:
当使用网页测试工具检查托管在服务器上的test.html时,服务器上的图像notalive表示keep-alive未激活,但是对于服务器上的图像,该工具指示它是保持活动状态。
然后我将test.html交给服务器上的活动,并且网页工具完全按照上面的测试表明,对于notalive服务器上的图像,该工具表示keep-alive未激活且服务器上的图像处于活动状态该工具表示keep-alive已激活。
这让我相信,因为html文件是相同的,我的问题可能是由于服务器的配置不合理。
我从两台服务器运行了phpinfo()并保留了似乎与alive相关的行(基于上面的stackoverflow发布),并在下面重现了这些行。
对于notalive服务器:
PHP Version 5.3.29
Configuration: apache2handler: Max Requests Per Child: 500 - Keep Alive: on - Max Per Connection: 100
Configuration: apache2handler:Timeouts Connection: 300 - Keep-Alive: 1
Apache Environment: HTTP_CONNECTION close
HTTP Headers Information: HTTP Request Headers: connection close
Connection keep-alive
PHP Variables: _SERVER["HTTP_CONNECTION"] close
对于活动服务器:
PHP Version 5.2.12
apache: Max Requests Per Child: 1000 - Keep Alive: on - Max Per Connection: 500
Timeouts Connection: 300 - Keep-Alive: 5
Apache Environment: HTTP_CONNECTION keep-alive
HTTP Headers Information: HTTP Request Headers: Connection keep-alive
HTTP Headers Information: HTTP Response Headers:
Keep-Alive timeout=5, max=500
Connection Keep-Alive
PHP Variables: _SERVER["HTTP_CONNECTION"] keep-alive
如果有人会看到上述情况并且可能就如何激活保持活力提供一些指导,我将非常感激。
感谢您抽出宝贵时间阅读本文。
答案 0 :(得分:1)
排序或至少是一种解决方法。
根据我的测试结果,托管公司得出结论,问题是由于他们使用了Apache Web服务器和Varnish Cache。
他们已将网站移至Litespeed服务器,现在连接仍然存在。
感谢Blowski的帮助。