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.
php_uname
(PHP 4 >= 4.0.2, PHP 5)
php_uname — Restituisce informazioni sul sistema operativo su cui gira il PHP
Descrizione
$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. localhost.example.com.
- '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()
<?php
echo php_uname();
echo PHP_OS;
/* possibili output:
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 'This is a server using Windows!';
} else {
echo '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
<?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; // ;
?>
Vedere anche phpversion(), php_sapi_name() e phpinfo().
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.
Note that PHP won't tell you that it reverted to displaying platform it was built on.
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.
