帮别人调网站时,有时候需要知道网站是用的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,所以这是用第一种方法比较靠谱!