可能的值为:PHP_OS

有没有一个地方可以findPHP预定义常量PHP_OS的可能值列表? 我想使用这个值进行系统需求检查,但是需要知道在这个variables中如何命名不同的操作系统。

通过一些search,到目前为止,我已经编译了以下列表:

  • CYGWIN_NT-5.1
  • 达尔文
  • FreeBSD的
  • HP-UX
  • IRIX64
  • Linux的
  • NetBSD的
  • OpenBSD系统
  • 在SunOS
  • Unix的
  • WIN32
  • WINNT
  • 视窗

如果有人有更完整的清单,或者知道任何额外的价值,我很乐意听到他们!

除了在Windows( WINNT )和Netware( Netware ) 之外, PHP 通过uname 。 请参阅维基百科,了解您的问题中未提及的值的非详尽列表:

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

我认为做一个“需求检查”的更好的解决scheme是实际使用你需要知道的东西,看看会发生什么。

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

具体来说,你想要做什么?

看起来像非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操作系统
  • Windows XP 64位

请记住,这不是浏览器检测,而是根path检测,可能或可能不是\/ ,EOL和其他一些事情的目录分隔符。

根path的例子

  • Unix \ linux \ Mac OS X: /
  • OS / 2: C:\
  • Amiga: dh0:
Interesting Posts