Проверьте, установлен ли PHP на Apache или IIS Server? - PullRequest
14 голосов
/ 28 февраля 2012

Есть ли способ проверить, установлен ли PHP на сервере Apache или IIS в самой среде PHP?

Если да, то как?

Ответы [ 5 ]

22 голосов
/ 28 февраля 2012

создайте файл (скажем, info.php) со следующим содержимым в доступном пути и попробуйте просмотреть его:

<?php
phpinfo();
?>

@ Alfabravo правильно: не забудьте удалить файл с сервера после его использования!

9 голосов
/ 28 февраля 2012

Создайте PHP-скрипт php.php с содержимым:

<?php
phpinfo();
?>

и запустите его из браузера. Или из командной строки запустите:

php -v
6 голосов
/ 07 ноября 2015

Я не знаю, с какой версией PHP она стала доступна, но попробуйте это:

if( strpos( $_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) 
  echo 'Have Apache';
else
  echo 'Have some other server';
6 голосов
/ 04 мая 2013

Практически наиболее точный возможный ответ (есть и другие подобные возможности):

function on_iis() {
    $sSoftware = strtolower( $_SERVER["SERVER_SOFTWARE"] );
    if ( strpos($sSoftware, "microsoft-iis") !== false )
        return true;
    else
        return false;
}

Теперь просто используйте on_iis() всякий раз, когда вы хотите знать.

0 голосов
/ 28 февраля 2012

Вы также можете узнать через $ _SERVER ['DOCUMENT_ROOT'], вроде:

Чтение http://www.helicron.net/php/

(В принципе, согласно статье, Apache устанавливает корень документас допустимой переменной, а IIS нет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...