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

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