7

小故事:我需要编写一个 PHP 脚本,它可以从 uname 中找到正确的操作系统类型(例如:bothwince并且winnt会 return windows)。请参阅此处了解更多信息。

这不应该是一个社区维基吗?

是的,但是……看这里

如何提供帮助:如果您的操作系统未在下面列出,请运行此代码并分享您的发现:

<?php
    echo php_uname();
?>

或者,在 Unix shell 中,尝试

user@host ~ > php -a

php > echo php_uname();

共享结果列表

  • 达尔文 ... 10.4.0 达尔文内核版本 10.4.0:2010 年 4 月 23 日星期五 18:28:53 PDT;根:xnu-1504.7.4~1/RELEASE_I386 i386
  • 达尔文 ... 9.8.0 达尔文内核版本 9.8.0:2009 年 7 月 15 日星期三 16:55:01 PDT;根:xnu-1228.15.4~1/RELEASE_I386 i386
  • Windows NT ... 6.1 构建 7600
  • Linux ... 2.6.24-24-xen #1 SMP 2009 年 8 月 18 日星期二 18:15:39 UTC x86_64
  • Linux ... 2.6.34.7-56.fc13.x86_64 #1 SMP Wed Sep 15 03:36:55 UTC 2010 x86_64
  • Linux ... 2.6.32-25-generic #44-Ubuntu SMP Fri Sep 17 20:26:08 UTC 2010 i686
  • Windows NT ... 5.1 构建 2600
  • Windows NT ... 6.0 build 6002 (Windows Server 2008 Standard Edition Service Pack 2) i586
  • Windows NT ... 6.1 build 7600 ((null)) i586

有趣的是,即使某些条件完全匹配,uname 仍然会产生不同的结果。

4

16 回答 16

6

似乎这是 uname 的浏览器。随意编辑/更新此列表

  • Ubuntu 10.10 32 位 (i686)
Linux SYSTEM_NAME 2.6.35-22-generic #34-Ubuntu SMP SYSTEM_DATE i686
  • Ubuntu 10.04 32 位,PHP 5.3.2
Linux SYSTEM_NAME 2.6.32-25-generic #44-Ubuntu SMP SySTEM_DATE i686
  • Ubuntu 10.04 x64
Linux SYSTEM_NAME 2.6.32-25-generic #44-Ubuntu SMP SYSTEM_DATE x86_64t
  • Ubuntu 13.04 x86_64
Linux SYSTEM_NAME 3.8.0-29-generic #42-Ubuntu SMP SYSTEM_DATE x86_64 GNU/Linux
  • Debian GNU/Linux 4.0(蚀刻)32 位,PHP 5.2.0
Linux SYSTEM_NAME 2.6.18-028stab062.3 #1 SMP SYSTEM_DATE i686
  • Gentoo linux,32 位,PHP 5.2:
Linux SYSTEM_NAME 2.6.35-gentoo-r8sh #1 SMP PREEMPT SYSTEM_DATE i686
  • Fedora 13 64 位:
Linux SYSTEM_NAME 2.6.34.7-56.fc13.x86_64 #1 SMP SYSTEM_DATE x86_64
  • Centos 5.5 x86:
Linux SYSTEM_NAME 2.6.18-194.17.1.el5 #1 SMP SYSTEM_DATE i686
  • Mac OS 雪豹 (imac 24")
Darwin SYSTEM_NAME.local 10.4.0 达尔文内核版本 10.4.0:SYSTEM_DATE;根:xnu-1504.7.4~1/RELEASE_I386 i386
  • Windows 7 专业版 64 位,PHP 5.3 32 位:
Windows NT SYSTEM_NAME 6.1 build 7600 ((null)) i586
  • Windows 2008 服务器 64 位
Windows NT SYSTEM_NAME 6.0 build 6002 (Windows Server 2008 Standard Edition Service Pack 2) i586
  • 视窗 XP SP3
Windows NT SYSTEM_NAME 5.1 构建 2600
于 2010-10-16T12:46:19.500 回答
1

Mac OS X 10.6.4,php 5.3.2

Darwin [myMachineName] 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386
于 2010-10-16T12:30:56.917 回答
1

Windows 2008 Server 64-Bit, PHP 5.2 32-Bit 通过 Apache 和 CLI:

Windows NT *Name of machine* 6.0 build 6002 (Windows Server 2008 Standard Edition Service Pack 2) i586
于 2010-10-16T12:30:58.383 回答
1

Mac OS 雪豹 (imac 24")

达尔文 XXXXXXX-YYYYYYY.local 10.4.0 达尔文内核版本 10.4.0:2010 年 4 月 23 日星期五 18:28:53 PDT;根:xnu-1504.7.4~1/RELEASE_I386 i386
其中 XXXX-YYYY 是我的名字和姓氏

视窗 XP SP3

Windows NT XXXXXX 5.1 构建 2600
其中 XXXXX 是机器名称

于 2010-10-16T12:31:45.340 回答
1

Fedora 13 64 位:

greg@liche :) ~ > php -a
Interactive shell

php > echo php_uname();
Linux liche.gregnet 2.6.34.7-56.fc13.x86_64 #1 SMP Wed Sep 15 03:36:55 UTC 2010 x86_64
于 2010-10-16T12:32:25.877 回答
1

Ubuntu 10.4 32 位,PHP 5.3.2

Linux SYSTEM_NAME 2.6.32-25-generic #44-Ubuntu SMP SYSTEM_TIME i686

Debian GNU/Linux 4.0(蚀刻)32 位,PHP 5.2.0

Linux SYSTEM_NAME 2.6.18-028stab062.3 #1 SMP SYSTEM_TIME i686

于 2010-10-16T12:32:31.623 回答
1

Ubuntu 10.04,64 位,PHP 版本 5.3.2:

Linux MY_SYSTEM_NAME 2.6.32-25-generic #44-Ubuntu SMP Fri Sep 17 20:05:27 UTC 2010 x86_64

于 2010-10-16T12:35:20.427 回答
1

Ubuntu 10.10 32 位 (i686)

PHP版本

PHP 5.3.3-1ubuntu9.1 with Suhosin-Patch (cli) (built: Oct 15 2010 14:17:04)

输出:

Linux lenovo-t60 2.6.35-22-generic #34-Ubuntu SMP Sun Oct 10 09:24:00 UTC 2010 i686
于 2010-10-16T12:44:47.477 回答
1

Ubuntu 10.10 64 位,PHP 5.3.3:

Linux *机器名称* 2.6.35-22-generic #33-Ubuntu SMP SYSTEM_TIME x86_64

于 2010-10-16T12:44:53.143 回答
1

带有 php-5.3.3-nts-Win32-VC9-x86 的 Windows 7 64 位

Windows NT <name> 6.1 build 7600 (Unknow Windows version Ultimate Edition) i586
于 2010-10-16T13:07:40.497 回答
1

Windows 7 专业版 64 位,PHP 5.3 32 位:

Windows NT *Name of my machine* 6.1 build 7600 ((null)) i586
于 2010-10-16T12:25:40.393 回答
1

Gentoo linux,32 位,PHP 5.2:

Linux office 2.6.35-gentoo-r8sh #1 SMP PREEMPT Tue Sep 28 13:35:58 EEST 2010 i686
于 2010-10-16T12:27:02.340 回答
1

Centos 5.5 x86:

Linux <hostname>.<domainname> 2.6.18-194.17.1.el5 #1 SMP Wed Sep 29 12:51:33 EDT 2010 i686
于 2010-10-16T12:50:14.937 回答
0

MacBookPro11,1 上的 macOS(又名 Mac OS X)Sierra 10.12.2

Darwin myhostname 16.3.0 Darwin Kernel Version 16.3.0: Thu Nov 17 20:23:58 PST 2016; root:xnu-3789.31.2~1/RELEASE_X86_64 x86_64
于 2017-01-19T13:45:35.923 回答
0

Cygwin(32-bit install) running on Windows 10 64-bit, running PHP 5.6.17

CYGWIN_NT-10.0-WOW win8-testing-vm 2.4.1(0.293/5/3) 2016-01-24 11:24 i686
于 2016-03-01T07:52:37.380 回答
0

只是为了增加一点谜题..

Windows NT 是内核/平台分支名称,是的,看到“NT 6.2”标签指的是 Windows 8 Pro 有点令人困惑。
Windows 版本标签在这里有很好的记录: https ://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions

出于好奇,这是我在 Windows 10 Pro x64 中作为 WLS(Windows Linux 子系统)运行的 Debian Stretch(那些 Win10 状态“版本 10.0.19042”的系统信息)

Linux SILVERSTONE 4.4.0-19041-Microsoft #488-Microsoft Mon Sep 01 13:43:00 PST 2020 x86_64 x86_64 x86_64 GNU/Linux
于 2021-01-05T16:09:27.290 回答