PHP 7.2.0 Release Candidate 2 Released


(PHP 4 >= 4.0.2, PHP 5)

php_uname Restituisce informazioni sul sistema operativo su cui gira il PHP


string php_uname ([ string $mode ] )

php_uname() restituisce una stringa con la descrizione del sistema operativo su cui gira PHP. Se si desidera semplicemente il nome del sistema operativo, si utilizzi la costante PHP_OS, ma si ricordi che questa costante contiene il nome del sistema operativo su cui il PHP è stato compilato.

Sui sistemi Unix, la funzione passa a visualizzare il sistema operativo su cui il PHP è stato compilato, se non è in grado di determinare le imformazioni del sistema operativo su cui il PHP gira.

mode definisce quali informazioni debbano essere restituite:

  • 'a': Questo è il default. Contiene tutte le modalità nella sequenza "s n r v m".
  • 's': Nome del sistema operativo. Es. FreeBSD.
  • 'n': Nome del server. Es.
  • 'r': Nome del rilascio. Es. 5.1.2-RELEASE.
  • 'v': Informazioni sulla versione. Varia molto in base al sistema operativo.
  • 'm': Tipo di macchina. Es. i386.

Example #1 Alcuni esempi di php_uname()

echo php_uname();

/* possibili output:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686

FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001

Windows NT XN1 5.1 build 2600

if (strtoupper(substr(PHP_OS03)) === 'WIN') {
'This is a server using Windows!';
} else {
'This is a server not using Windows!';


Esistono alcune Costanti PHP predefinite che possono essere di aiuto, ad esempio:

Example #2 Alcune costanti relative al OS

// *nix
echo PHP_SHLIB_SUFFIX;    // so
echo PATH_SEPARATOR;      // :

// Win*
echo PHP_SHLIB_SUFFIX;    // dll
echo PATH_SEPARATOR;      // ;

Vedere anche phpversion(), php_sapi_name() e phpinfo().

add a note add a note

User Contributed Notes 2 notes

Grzechooo+php at gmail dot com
4 years ago
Note that PHP won't tell you that it reverted to displaying platform it was built on.
Yzmir Ramirez
6 years ago
Note that php_uname('n') does not always equal $_SERVER['HOST_NAME']

The machine that you are running the script may server many different host names so don't use this when building urls.
To Top