【发布时间】:2011-04-26 07:15:00
【问题描述】:
我需要确定运行 PHP 服务器的操作系统类型。 按类型,我指的是诸如“windows”或“linux”之类的字符串,而不是“wince”、“winnt”等。
到目前为止,我必须引导:PHP_OS 和 uname(),后者比早期更可靠(PHP_OS 说明了 PHP 是基于什么 OS 构建的 - 根据文档)。
【问题讨论】:
-
php_uname()不满足您的要求吗?如果没有,为什么不呢? -
我需要操作系统类型,但是 php_uname 返回许多额外的细节,这使得检测变得困难(例如:winnt vs wince vs darwin => windows windows osx)。另外,我也不(不能)知道我能得到的所有类型的字符串。例如,我不运行 solaris 或 bsd - 此时不可能在这些系统上运行我自己的 php。
-
@Christian 这似乎是一件看起来很容易的事情,但同时又不可能做到 100% 可靠。请详细说明您到底需要这个做什么?也许这会导致一个关于一些完美指标的想法
-
@Pekka - 这是区分操作系统的通用函数。我希望检测 hpux 的人能够像检测 windows 的人一样轻松地做到这一点。可预测的结果相对重要。
-
@Christian 嗯,想到的唯一想法是打开一个社区 Wiki 问题,要求人们报告
uname()在他们的系统上返回的内容。我想它会在 Unixes/Linuxes 上相对一致,实际上 is 有一个内置的 uname(),我相信它也遵循 Windowses 上的某种约定。这只是一个收集尽可能多的可能结果的问题。如果您决定这样做,请告诉我,我可以提供有关 Win7、Server 2003 和 2008 的信息
标签: php operating-system uname