简短的故事:我需要编写一个PHP脚本,从uname中找到正确的操作系统类型(例如:both wince
并winnt
返回windows
).有关详细信息,请参见此处
这不应该是社区维基吗?
是的但是...... 看到这里.
如何提供帮助:如果您的操作系统未在下面列出,请运行此代码并分享您的发现:
或者,在Unix shell中,尝试
user@host ~ > php -a php > echo php_uname();
共享结果列表
达尔文... 10.4.0 Darwin内核版本10.0.0:4月23日星期五18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386
达尔文... 9.8.0达尔文内核版本9.8.0:周三7月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 Tue Aug 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仍会产生不同的结果.
这似乎是uname的browscap.随意编辑/更新此列表:
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")
Darwin SYSTEM_NAME.local 10.4.0 Darwin Kernel Version 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 Service Pack 2) i586
Windows XP SP3
Windows NT SYSTEM_NAME 5.1 build 2600