可能的值:PHP_OS

时间:2009-04-10 20:51:30

标签: php superglobals

是否有地方可以找到PHP预定义常量PHP_OS的可能值列表?我想将此值用于系统需求检查,但需要知道在此变量中如何命名不同的操作系统。

通过一些搜索,到目前为止我编写了以下列表:

  • CYGWIN_NT-5.1
  • 达尔文
  • FreeBSD的
  • HP-UX
  • IRIX64
  • 的Linux
  • NetBSD的
  • OpenBSD的
  • 的SunOS
  • 的Unix
  • WIN32
  • WINNT

如果有人有更完整的列表,或者知道任何其他值,我很乐意听到它们!

3 个答案:

答案 0 :(得分:21)

PHP passes through the unameexcept on Windows (WINNT)Netware (Netware)。有关您问题中未提及的值的非详尽列表,请参阅Wikipedia

  • CYGWIN_NT-5.1
  • IRIX64
  • 的SunOS
  • HP-UX
  • OpenBSD(不在维基百科)

答案 1 :(得分:3)

我认为做一个'需求检查'的更好的解决方案是实际使用你需要知道正常工作的东西,看看会发生什么。

例如,目录分隔符有常量,像realpath()等函数可以处理不同操作系统上的目录。

具体来说,你想做什么?

答案 2 :(得分:0)

似乎非Unix操作系统的php_uname("s")是一个好的开始,因为它看起来像uname("s")php_uname("s")在Unix系统和posix子系统上是相同的,例如Cygwin,Mingw,UWin,EMX + GCC和MKS。下面列出了一些开箱即用且不符合Posix标准且运行PHP的操作系统。

OS

  • OS / 2 Warp
  • eComStation
  • RISC OS
  • Windows XP 64位

请记住,这根本不适用于浏览器检测,而是根路径检测,可能是\/的目录分隔符,EOL以及其他一些内容。< / p>

根路径示例

  • Unix \ linux \ Mac OS X:/
  • OS / 2:C:\
  • Amiga:dh0:
相关问题