Что говорит ВАШ uname?

Короткая история: мне нужно написать скрипт PHP, который находит правильный тип ОС от uname (например: оба wince а также winnt вернется windows). Смотрите здесь для получения дополнительной информации.

Разве это не должно быть вики сообщества?

Да, но... смотрите здесь.

Как помочь: Если вашей ОС нет в списке, пожалуйста, запустите этот код и поделитесь своими выводами:

<?php
    echo php_uname();
?>

Или, в оболочке Unix, попробуйте

user@host ~ > php -a

php > echo php_uname();

Список общих результатов

  • Дарвин... 10.4.0 Ядро Дарвина Версия 10.4.0: Пт, 23 апреля 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386
  • Дарвин... 9.8.0 Ядро Дарвина Версия 9.8.0: Ср 15 июля, 16:55:01 PDT 2009; root: xnu-1228.15.4 ~ 1 / RELEASE_I386 i386
  • Windows NT... 6.1 build 7600
  • Linux... 2.6.24-24-xen # 1 SMP вт 18 августа 18:15:39 UTC 2009 x86_64
  • Linux... 2.6.34.7-56.fc13.x86_64 # 1 SMP Ср 15 сентября 03:36:55 UTC 2010 x86_64
  • Linux... 2.6.32-25-generiC#44-Ubuntu SMP пт 17 сен 20:26:08 UTC 2010 i686
  • Windows NT... 5.1 сборка 2600
  • Windows NT... 6.0 build 6002 (Windows Server 2008 Standard Edition с пакетом обновления 2) i586
  • Windows NT... 6.1 build 7600 ((null)) i586

Интересно отметить, что даже когда определенные условия точно совпадают, uname все равно дает разные результаты.

16 ответов

Похоже, что это browscap для uname. Не стесняйтесь редактировать / обновлять этот список:

  • Ubuntu 10.10 32bit (i686)
Linux SYSTEM_NAME 2.6.35-22-generiC# 34-Ubuntu SMP SYSTEM_DATE i686
  • Ubuntu 10.04 32bit, 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 (etch) 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 ")
Дарвин SYSTEM_NAME.local 10.4.0 Ядро Дарвина Версия 10.4.0: SYSTEM_DATE; root: 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 Server 64-разрядная версия
Windows NT SYSTEM_NAME 6.0 build 6002 (Windows Server 2008 Standard Edition с пакетом обновления 2) i586
  • Windows XP SP3
Windows NT SYSTEM_NAME 5.1 ​​build 2600

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

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

Ubuntu 10.4 32bit, PHP 5.3.2

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

Debian GNU / Linux 4.0 (etch) 32 бита, PHP 5.2.0

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

Mac OS Snow Leopard (imac 24 ")

 Darwin XXXXXXX-YYYYYYY.local 10.4.0 Ядро Darwin Версия 10.4.0: Пт, 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 сборка 2600 
где XXXXX - имя машины

Cygwin(32-разрядная установка), работающая в Windows 10, 64-разрядная, работает под управлением 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

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

Windows 7 Профессиональная 64-битная, PHP 5.3 32-битная:

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

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

Ubuntu 10.10 64bit, PHP 5.3.3:

Linux * имя машины * 2.6.35-22-generiC#33-Ubuntu SMP SYSTEM_TIME x86_64

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

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

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

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

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

macOS (он же Mac OS X) Sierra 10.12.2 на MacBookPro11,1

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

Просто чтобы добавить немного кусочков головоломки ..

Windows NT — это название ветки ядра/платформы, да, немного сбивает с толку тег «NT 6.2», относящийся к Windows 8 Pro.
Теги версии Windows довольно хорошо задокументированы здесь:https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions

Любопытно, это мой Debian Stretch, работающий как WLS (подсистема Windows Linux) внутри Windows 10 Pro x64 (системная информация об этих 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
Другие вопросы по тегам