帮别人调网站时,有时候需要知道网站是用的apache服务还是nginx服务,虽然说可以通过网页的head头来查看,但今天还是想说一下用php来检测服务器是用的apahce服务或nginx服务的方法。
PHP判断服务器使用apache还是nginx的方法
方法1:<?php
if (!isset($_SERVER['SERVER_SOFTWARE'])) {
echo '未检测到服务器类型';
}
$webServer = strtolower($_SERVER['SERVER_SOFTWARE']);
if (strpos($webServer, 'apache') !== false) {
echo 'apache服务器';
} elseif (strpos($webServer, 'microsoft-iis') !== false) {
echo 'iis服务器';
} elseif (strpos($webServer, 'nginx') !== false) {
echo 'nginx服务器';
} elseif (strpos($webServer, 'lighttpd') !== false) {
echo 'lighttpd服务器';
} elseif (strpos($webServer, 'kangle') !== false) {
echo 'kangle服务器';
} elseif (strpos($webServer, 'caddy') !== false) {
echo 'caddy服务器';
} elseif (strpos($webServer, 'development server') !== false) {
echo 'development server 服务器';
} else {
echo $webServer;
}
?>
注:以上代码也可以检测服务器是否为IIS或kangle,总之是非常的好用的。
方法2:
php代码:<?php echo PHP_SAPI; ?>
结果分析:
1、fpm-fcgi ,则使用的为 nginx
2、cgi-fcgi , 则表示使用的为 nginx
3、apache2handler,则表示使用的为 apache
4、cli,使用的为终端命令
注:此方法并不能百分之百的能检测服务器是否为apahce或nginx,所以这是用第一种方法比较靠谱!