【问题标题】:What does YOUR uname say?你的名字是怎么说的?
【发布时间】:2011-04-26 07:40:24
【问题描述】:

简短的故事:我需要编写一个 PHP 脚本,它可以从 uname 中找到正确的操作系统类型(例如:wincewinnt 都将返回 windows)。 See here 了解更多信息。

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

是的,但是...see here.

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

<?php
    echo php_uname();
?>

或者,在 Unix shell 中,尝试

user@host ~ > php -a

php > echo php_uname();

共享结果列表

  • Darwin ... 10.4.0 达尔文内核版本 10.4.0:2010 年 4 月 23 日星期五 18:28:53 PDT; root:xnu-1504.7.4~1/RELEASE_I386 i386
  • 达尔文 ... 9.8.0 达尔文内核版本 9.8.0:2009 年 7 月 15 日星期三 16:55:01 PDT; root:xnu-1228.15.4~1/RELEASE_I386 i386
  • Windows NT ... 6.1 build 7600
  • Linux ... 2.6.24-24-xen #1 SMP 2009 年 8 月 18 日星期二 18:15:39 UTC 2009 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 build 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 仍然会产生不同的结果。

【问题讨论】:

  • @Christian 我建议为此打开一个聊天室——它更适合这个。可以使用此链接为此问题自动创建聊天室:chat.stackoverflow.com/questions/3948866/…
  • @YiJian 为什么?这也是对后代有用的信息
  • @Pekka 再想一想,你是对的,这会更持久。
  • sharth - 这仍然会产生不同的结果。
  • 这有点像查看浏览器用户代理字符串。市场上有 5-6 种流行的浏览器,但有 10k 种不同的用户代理字符串。

标签: php operating-system uname


【解决方案1】:

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

  • Ubuntu 10.10 32bit (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 Snow Leopard (imac 24")
Darwin SYSTEM_NAME.local 10.4.0 达尔文内核版本 10.4.0:SYSTEM_DATE; root:xnu-1504.7.4~1/RELEASE_I386 i386
  • Windows 7 Professional 64 位、PHP 5.3 32 位:
Windows NT SYSTEM_NAME 6.1 build 7600 ((null)) i586
  • Windows 2008 Server 64 位
Windows NT SYSTEM_NAME 6.0 build 6002 (Windows Server 2008 Standard Edition Service Pack 2) i586
  • Windows XP SP3
Windows NT SYSTEM_NAME 5.1 build 2600

【讨论】:

    【解决方案2】:

    Windows 7 Professional 64 位,PHP 5.3 32 位:

    Windows NT *Name of my machine* 6.1 build 7600 ((null)) i586
    

    【讨论】:

    • 为什么在运行 Windows 7 时显示“Windows NT”? Windows 10 对我来说也是如此。
    • @OmarTariq 历史原因 - Windows NT 是基于 DOS 的 Windows 3.x 和 95 的并行开发,而 NT 是用于服务器的全新操作系统,更加稳定。 NT 内核最终成为所有 Windows 版本的基础(我认为是从 Windows XP 开始)
    【解决方案3】:

    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
    

    【讨论】:

      【解决方案4】:

      Mac OS Snow Leopard (imac 24")

      Darwin XXXXXXX-YYYYYYY.local 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
      XXXX-YYYY 是我的名字和姓氏

      Windows XP SP3

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

      【讨论】:

        【解决方案5】:

        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
        

        【讨论】:

          【解决方案6】:

          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

          【讨论】:

            【解决方案7】:

            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
            

            【讨论】:

            • 本来要粘贴我的,但它完全匹配。
            【解决方案8】:

            Ubuntu 10.10 32bit (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
            

            【讨论】:

              【解决方案9】:

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

              Windows NT *Name of machine* 6.0 build 6002 (Windows Server 2008 Standard Edition Service Pack 2) i586
              

              【讨论】:

                【解决方案10】:

                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
                

                【讨论】:

                  【解决方案11】:

                  Windows 7 64bit 和 php-5.3.3-nts-Win32-VC9-x86

                  Windows NT <name> 6.1 build 7600 (Unknow Windows version Ultimate Edition) i586
                  

                  【讨论】:

                    【解决方案12】:

                    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

                    【讨论】:

                      【解决方案13】:

                      Ubuntu 10.10 64 位,PHP 5.3.3:

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

                      【讨论】:

                        【解决方案14】:

                        在 Windows 10 64 位上运行的 Cygwin(32 位安装),运行 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
                        

                        【讨论】:

                        • “操作系统”部分 (CYGWIN_NT-10.0-WOW) 的格式与 Windows 不同。它可能是Cygwin NT 10.0 WoW,它更易读。
                        【解决方案15】:

                        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
                        

                        【讨论】:

                          【解决方案16】:

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

                          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-10-18
                            • 2018-07-23
                            • 1970-01-01
                            • 1970-01-01
                            • 2014-03-21
                            • 2010-12-29
                            • 2010-09-11
                            • 2020-09-10
                            • 2013-05-08
                            相关资源
                            最近更新 更多