Note that PHP won't tell you that it reverted to displaying platform it was built on.
(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
php_uname — Возвращает информацию об операционной системе, в которой работает PHP
Функция php_uname() возвращает описание операционной системы,
в которой запустили PHP. Это та же строка, с которой начинается вывод
функции phpinfo(). Для вывода только названия операционной системы
указывают константу PHP_OS
. Обратите внимание,
эта константа содержит название операционной системы, в которой
собрали PHP.
На отдельных старых UNIX-платформах функция иногда не определяет текущую ОС и тогда возвращает ОС, в которой собрали PHP. Такое бывает, только если библиотечный вызов функции uname() не существует или не работает.
mode
mode
— один символ, который определяет,
какая информация возвращается:
'a'
: Значение по умолчанию.
В этом режиме функция возвращает ту же информацию, что и отдельные режимы, разделённые пробелом.
's'
, 'n'
, 'r'
, 'v'
, 'm'
.
's'
: Название операционной системы, например
FreeBSD
.
'n'
: Имя хоста, например
localhost.example.com
.
'r'
: Номер релиза, например
5.1.2-RELEASE
.
'v'
: Информация о версии.
Сильно различается в зависимости от операционной системы.
'm'
: Архитектура процессора, например
i386
.
Функция возвращает описание ОС в виде строки.
Версия | Описание |
---|---|
8.4.0 |
Функция выбрасывает ошибку ValueError,
если указали недопустимый режим mode .
|
Пример #1 Примеры получения информации об операционной системе функцией php_uname()
<?php
echo php_uname();
echo PHP_OS;
/* Разные варианты:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux
FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD
Windows NT XN1 5.1 build 2600
WINNT
*/
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
echo 'Сервер работает под управлением Windows!';
} else {
echo 'Сервер работает под управлением ОС, отличной от Windows!';
}
?>
В языке также предопределили ряд PHP-констант, которые связаны с работой функции:
Пример #2 Пример констант, которые связаны с ОС
<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX; // so
echo PATH_SEPARATOR; // :
// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX; // dll
echo PATH_SEPARATOR; // ;
?>
Note that PHP won't tell you that it reverted to displaying platform it was built on.