Contrary to the last note, PHP_OS does display the OS PHP runs on currently, whereas php_uname() displays the Operating system version via uname.
This has nothing to do with the system PHP was built on.
php_uname
(PHP 4 >= 4.0.2, PHP 5)
php_uname — Retourne les informations sur le système d'exploitation
Description
php_uname() retourne une description sur le système d'exploitation sur lequel tourne PHP. Si vous voulez juste savoir le nom du système d'exploitation, utilisez plutôt la constante PHP_OS mais gardez à l'esprit que cette constante contient le nom du système sur lequel PHP a été compilé.
Sous Unix, la fonction tente d'afficher les informations du système d'exploitation sur lequel PHP a été compilé si elle n'arrive pas à déterminer le système d'exploitation courant.
Liste de paramètres
- mode
-
mode est un seul caractère qui définit quelles seront les informations à retourner :
- 'a': par défaut, contient tous les modes de la séquence "s n r v m".
- 's': nom du système d'exploitation. Par exemple, FreeBSD.
- 'n': nom de l'hôte. Par exemple, localhost.example.com.
- 'r': nom de la version. Par exemple, 5.1.2-RELEASE.
- 'v': information sur la version. Varie énormément suivant le système d'exploitation.
- 'm': type de la machine. Par exemple, i386.
Valeurs de retour
Retourne la description, sous la forme d'une chaîne de caractères.
Exemples
Exemple #1 Exemples avec php_uname()
<?php
echo php_uname();
echo PHP_OS;
/* Affichages possibles :
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 'Le serveur tourne sous Windows !';
} else {
echo 'Le serveur ne tourne pas sous Windows !';
}
?>
Il existe aussi des constantes PHP pré-définies liées qui peuvent s'avérer utiles, par exemple :
Exemple #2 Exemples avec quelques constantes liées au système
<?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; // ;
?>
php_uname
19-Jan-2006 06:26
15-Jan-2005 12:25
In php 4.1.2, php_uname('n') returns a warning about an invalid parameter count. Change it to @php_uname to hide this warning.
