[英]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.