Есть ли способ проверить, установлен ли PHP на сервере Apache или IIS в самой среде PHP?
Если да, то как?
создайте файл (скажем, info.php) со следующим содержимым на доступном пути и попробуйте просмотреть его:
<?php phpinfo(); ?>
@Alfabravo правильно: не забудьте удалить файл с сервера после его использования!
Создайте PHP-скрипт php.php с содержимым:
<?php phpinfo(); ?>
и запустите его из своего браузера. Или из командной строки выполните:
php -v
Фактически самый окончательный ответ возможен (есть и другие аналогичные возможности):
function on_iis() { $sSoftware = strtolower( $_SERVER["SERVER_SOFTWARE"] ); if ( strpos($sSoftware, "microsoft-iis") !== false ) return true; else return false; }
Теперь просто используйте on_iis()
когда захотите узнать.
Я не знаю, с какой версией PHP он стал доступен, но попробуйте следующее:
if( strpos( $_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) echo 'Have Apache'; else echo 'Have some other server';
Вы также можете узнать через $ _SERVER ['DOCUMENT_ROOT'], вроде:
Читайте http://www.helicron.net/php/
(В принципе, согласно статье, Apache устанавливает корень документа с допустимой переменной, а IIS – нет).