(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
php_uname — 返回運(yùn)行 PHP 的系統(tǒng)的有關(guān)信息
$mode
= "a"): string
php_uname() 返回了運(yùn)行 PHP 的操作系統(tǒng)的描述。
這和 phpinfo() 最頂端上輸出的是同一個(gè)字符串。
如果僅僅要獲取操作系統(tǒng)的名稱(chēng)??梢钥紤]使用常量 PHP_OS
,不過(guò)要注意該常量會(huì)包含 PHP 構(gòu)建(built)時(shí)的操作系統(tǒng)名。
在一些舊的 UNIX 平臺(tái),它有可能無(wú)法檢測(cè)到當(dāng)前系統(tǒng)的信息,然后會(huì)還原顯示成構(gòu)建 PHP 時(shí)的系統(tǒng)信息。 這僅僅在你的 uname() 函數(shù)庫(kù)不存在或無(wú)法運(yùn)行時(shí)發(fā)生。
mode
mode
是單個(gè)字符,用于定義要返回什么信息:
'a'
:此為默認(rèn)。包含序列 "s n r v m"
里的所有模式。
's'
:操作系統(tǒng)名稱(chēng)。例如:
FreeBSD
。
'n'
:主機(jī)名。例如:
localhost.example.com
。
'r'
:版本名稱(chēng),例如:
5.1.2-RELEASE
。
'v'
:版本信息。操作系統(tǒng)之間有很大的不同。
'm'
:機(jī)器類(lèi)型。例如:i386
。
返回描述字符串。
示例 #1 一些 php_uname() 的例子
<?php
echo php_uname();
echo PHP_OS;
/* 比如有些會(huì)輸出:
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!';
}
?>
同樣可以方便地使用一些相關(guān)的 PHP 預(yù)定義常量,例如:
示例 #2 一些系統(tǒng)相關(guān)常量的例子
<?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; // ;
?>