我使用过http://www.webpagetest.org工具来检查网页,这表示未激活保活。我对此进行了研究,并被引导到"我如何才能保持生命?"?和更改PHP$_SERVER[';HTTP_CONNECTION';]值
在此之后,我在.htaccess文件中尝试了<ifModule mod_headers.c> Header set Connection keep-alive </ifModule>
。这个http://www.webpagetest.org仍然指示保持活动的工具未激活。
我联系了托管公司,他们表示已启用Keep Alive。
我制作了一个基本的html测试文件(称为thisttest.html),试图加载两个图像,一个来自不保持活动的服务器(称为notalive),另一个来自http://www.webpagetest.org指示的工具保持活力。
结果:
当使用webpagetest工具检查托管在服务器notalive上的test.html时,服务器notalie上的映像表示未激活keep-alive,但是对于服务器notalive上的映像,该工具表示它是keep-alive。
然后,我将test.html切换到server alive,网页工具完全按照上面的测试指示,即对于notalive服务器上的图像,工具说keep alive未激活,而对于server alive上的图像来说,工具说keep alive已激活。
这让我相信,由于html文件是相同的,我的问题可能是由于服务器notalive的配置。
我在两台服务器上都运行了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
如果有人能看看上面的内容,也许能就如何激活保持生命提供一些指导,我将不胜感激。
感谢您花时间阅读本文。
排序或至少是一种变通方法。
根据我的测试结果,托管公司得出结论,问题是由于他们使用了Apache web服务器和Varnish Cache。
他们已经将站点移到了Litespeed服务器上,现在连接仍然有效。
感谢Blowski的协助。