繁体   English   中英

可靠地检测PHP脚本是否在IIS下运行

[英]Reliably detect if PHP script is running under IIS

由于臭名昭著的IIS错误涉及“位置”重定向标头,因此我们必须改用“刷新”标头。

因此,我想知道以编程方式检测PHP脚本是否在IIS下运行的最佳方法。

当前使用的方法是DIRECTORY_SEPARATOR !== '/' ,但是显然Windows下的Apache和其他服务器被错误地识别为IIS。

我想到了:

strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS') !== false

...,但是此元素对应于HTTP响应的“服务器”标头,并且可能已通过各种方式将其删除。

有更强大的方法的想法吗?

根据http://www.helicron.net/php/,IIS将使$ _SERVER ['DOCUMENT_ROOT']为空,但apache不会。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM