請注意,PHP 不會告知您它已恢復顯示其建置所在的平台。
(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
php_uname — 返回 PHP 執行所在作業系統的相關資訊
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; // ;
?>