58

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

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

  • CYGWIN_NT-5.1
  • 达尔文
  • 自由BSD
  • 惠普-UX
  • IRIX64
  • Linux
  • NetBSD
  • OpenBSD
  • 太阳操作系统
  • Unix
  • WIN32
  • WINNT
  • 视窗

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

4

3 回答 3

23

PHP通过 uname除了在 Windows( WINNT)Netware( Netware)上。有关您的问题中未提及的值的非详尽列表,请参阅Wikipedia :

  • CYGWIN_NT-5.1
  • IRIX64
  • 太阳操作系统
  • 惠普-UX
  • OpenBSD(不在维基百科中)
于 2009-04-10T21:14:33.017 回答
4

我认为进行“需求检查”的更好解决方案是实际使用您需要知道的东西才能正常工作并看看会发生什么。

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

具体来说,你想做什么?

于 2009-04-10T21:15:30.377 回答
0

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

操作系统

  • OS/2 扭曲
  • 电子通讯站
  • RISC 操作系统
  • Windows XP 64 位

请记住,这根本不是浏览器检测,而是根路径检测、可能是也可能不是\and的目录分隔符/、EOL 和其他一些东西。

根路径示例

  • Unix\linux\Mac OS X:/
  • 操作系统/2:C:\
  • 阿米加:dh0:
于 2013-06-21T00:58:07.897 回答