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 — Retorna informações sobre o sistema operacional em que o PHP está sendo executado
php_uname() retorna uma descrição do sistema
operacional em que o PHP está sendo executado. Esta é a mesma string que você vê no
topo da saída de phpinfo(). Para o nome apenas do sistema
operacional, considere usar a constante PHP_OS
,
mas tenha em mente que esta constante conterá o sistema
operacional no qual o PHP foi construído.
Em algumas plataformas UNIX mais antigas, pode não ser possível determinar as informações atuais do sistema operacional e, nesse caso, a função reverterá para a exibição do sistema operacional no qual o PHP foi construído. Isso só acontecerá se a chamada da biblioteca uname() não existir ou não funcionar.
mode
mode
é um único caractere que define quais
informações são retornadas:
'a'
: É o padrão. Retorna a mesma
informação que os modos individuais
's'
, 'n'
, 'r'
, 'v'
, 'm'
separados por espaços.
's'
: Nome do sistema operacional. Ex:
FreeBSD
.
'n'
: Nome do servidor. Ex.:
localhost.example.com
.
'r'
: Nome da distribuição. Ex.:
5.1.2-RELEASE
.
'v'
: Informação de versão. Varia muito entre
sistemas operacionais.
'm'
: Tipo de máquina. Ex.: i386
.
Retorna a descrição, como uma string.
Versão | Descrição |
---|---|
8.4.0 |
Lança um ValueError quando um
mode inválido for especificado.
|
Exemplo #1 Alguns exemplos de php_uname()
<?php
echo php_uname();
echo PHP_OS;
/* Alguns resultados possíveis:
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 'Este é um servidor que usa Windows!';
} else {
echo 'Este é um servidor que não usa Windows!';
}
?>
Também existem algumas Constantes Predefinidas do PHP relacionadas que podem ser úteis, por exemplo:
Exemplo #2 Exemplos de algumas constantes relacionadas a sistema operacional
<?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.