php_uname

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

php_uname返回運行 PHP 的系統(tǒng)的有關信息

說明

php_uname(string $mode = "a"): string

php_uname() 返回了運行 PHP 的操作系統(tǒng)的描述。 這和 phpinfo() 最頂端上輸出的是同一個字符串。 如果僅僅要獲取操作系統(tǒng)的名稱??梢钥紤]使用常量 PHP_OS,不過要注意該常量會包含 PHP 構建(built)時的操作系統(tǒng)名。

在一些舊的 UNIX 平臺,它有可能無法檢測到當前系統(tǒng)的信息,然后會還原顯示成構建 PHP 時的系統(tǒng)信息。 這僅僅在你的 uname() 函數庫不存在或無法運行時發(fā)生。

參數

mode

mode 是單個字符,用于定義要返回什么信息:

  • 'a':此為默認。包含序列 "s n r v m" 里的所有模式。
  • 's':操作系統(tǒng)名稱。例如: FreeBSD。
  • 'n':主機名。例如: localhost.example.com。
  • 'r':版本名稱,例如: 5.1.2-RELEASE。
  • 'v':版本信息。操作系統(tǒng)之間有很大的不同。
  • 'm':機器類型。例如:i386。

返回值

返回描述字符串。

范例

示例 #1 一些 php_uname() 的例子

<?php
echo php_uname();
echo 
PHP_OS;

/* 比如有些會輸出:
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_OS03)) === 'WIN') {
    echo 
'This is a server using Windows!';
} else {
    echo 
'This is a server not using Windows!';
}

?>

同樣可以方便地使用一些相關的 PHP 預定義常量,例如:

示例 #2 一些系統(tǒng)相關常量的例子

<?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;      // ;
?>

參見