首先我知道这个variables: _SERVER["SERVER_SOFTWARE"]
在我的一个应用程序中,我想从PHP脚本检查它运行的是哪个web服务器。 基本上这将是一个wordpress插件,这将有助于博主调整一些configuration。
我为Apache&Nginx创build了独立的进程,并且正在考虑将代码发布为2个不同的WordPress插件。
然后,我只是好奇,知道在PHP中是否有一个FULLPROOF方法来完美地检测Web服务器。
请考虑所有情况:: Apache,Nginx,Apache + Nginx,PHP作为Apache模块,PHP使用fastcgi,php-fpm,lighttpd,IIS等。
此外,它对我的应用程序来检测组合和代理的存在至关重要。
谢谢,
-Rahul
简单的答案是,它不可能确定性地确定使用什么Web服务器。 您将得到的最接近的值是$ _SERVER [“SERVER_SOFTWARE”]。
通过应用程序指纹识别软件可以得到一个相当好的想法,但这非常复杂 – 它只会告诉你什么是终止HTTP连接 – 它可能是一个代理。
您在phpinfo()中看到的内容不会显示[fast] cgi的Web服务器,它只会显示pipe理员select在其他系统上提供的内容。
此外,它对我的应用程序检测组合和代理存在的关键。
我不知道你的意思是“组合”。 至于代理….也没有办法告诉。
也许如果你解释了为什么你需要这些信息以及它对你有什么样的价值,那么我们或许可以对这个可能适合你的需求的答案做出更明智的猜测。
C。
PHP手册网站上的某个人发布了一种将 phpinfo()variables存入数组的方法,这里有大量的信息,还有php正在运行的System ,也许你可以使用它。 看看评论。
另外,检测代理并不是那么容易,你可以使用http头(比如Via ),但是有很多方法可能会出错。