请注意,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
mode
是一个定义返回哪些信息的单个字符。
'a'
: 这是默认值。包含以 "s n r v m"
顺序排列的所有模式。
's'
: 操作系统名称。例如:FreeBSD
。
'n'
: 主机名。例如:localhost.example.com
。
'r'
: 发布名称。例如:5.1.2-RELEASE
。
'v'
: 版本信息。在不同操作系统之间差异很大。
'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_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; // ;
?>