PHP Conference Japan 2024

php_uname

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

php_uname返回 PHP 執行所在作業系統的相關資訊

說明

php_uname(字串 $mode = "a"): 字串

php_uname() 返回 PHP 執行所在作業系統的描述。這與您在 phpinfo() 輸出最上方看到的字串相同。如果只需要作業系統的名稱,可以考慮使用常數 PHP_OS,但請記住,這個常數包含的是 PHP 建置 所在的作業系統。

在一些較舊的 UNIX 平台上,可能無法判斷目前的作業系統資訊,在這種情況下,它會恢復顯示建置 PHP 時的作業系統。僅當您的 uname() 函式庫呼叫不存在或無法運作時,才會發生這種情況。

參數

模式

mode 是一個單一字元,定義要返回的資訊

  • 'a':這是預設值。返回與個別模式 's''n''r''v''m' 相同的資訊,並以空格分隔。

  • 's':作業系統名稱。例如 FreeBSD
  • 'n':主機名稱。例如 localhost.example.com
  • 'r':發行版本名稱。例如 5.1.2-RELEASE
  • 'v':版本資訊。因作業系統而異。
  • 'm':機器類型。例如 i386

回傳值

返回描述,以字串表示。

更新日誌

版本 說明
8.4.0 當指定了無效的 mode 時,會丟出 ValueError

範例

範例 #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_OS, 0, 3)) === 'WIN') {
echo
'這是一台使用 Windows 的伺服器!'
} else {
echo
'這是一台沒有使用 Windows 的伺服器!'
}

?>

也有一些相關的 預先定義的 PHP 常數 可能會派上用場,例如

範例 #2 一些與作業系統相關的常數範例

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

參見

新增註解

使用者貢獻筆記 1 則筆記

Grzechooo+php at gmail dot com
12 年前
請注意,PHP 不會告知您它已恢復顯示其建置所在的平台。
To Top