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 — Devuelve información sobre el sistema operativo en que se está ejecutando PHP
php_uname() devuelve una descripción del sistema
operativo en que se está ejecutando PHP. Esta misma información se muestra en la parte
superior de phpinfo(). Para obtener solamente el nombre
del sistema operativo, considere el uso de la constante PHP_OS
,
pero tenga en mente que la constante contendrá el sistema operativo
en que PHP fue compilado.
En algunos sistemas más antigos de UNIX, es posible que no se pueda determinar la información del SO actual en cuyo caso se revertirá mostrando el SO en que PHP fue compilado. Esto solo sucederá si la llamada a la libreria uname() no existe o no funciona.
mode
mode
es un caracter simple que define
qué información es devuelta:
'a'
: Elegida por defecto. Contiene todos los modos en
la secuencia "s n r v m"
.
's'
: Nombre del sistema operativo. ej.
FreeBSD
.
'n'
: Nombre del Host. ej.
localhost.example.com
.
'r'
: Nombre de la versión liberada. ej.
5.1.2-RELEASE
.
'v'
: Información de la versión. Varia mucho entre los
sistemas operativos.
'm'
: Tipo de máquina. ej. i386
.
Devuelve la descripción, como una cadena de texto.
Ejemplo #1 Algúnos ejemplos de php_uname()
<?php
echo php_uname();
echo PHP_OS;
/* Algúnos posibles resultados:
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 un servidor usando Windows!';
} else {
echo 'Este es un servidor que no usa Windows!';
}
?>
También existen algunas constantes PHP predefinidas que pueden ser útiles, por ejemplo:
Ejemplo #2 Algunos ejemplos de las constantes relacionadas al SO
<?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.