Pergunta

Existe um lugar para encontrar uma lista dos valores possíveis para o PHP predefinidos PHP_OS constante? Eu gostaria de usar esse valor para um sistema de requisitos de verificar, mas necessidade de saber como os diferentes sistemas operacionais são nomeados nesta variável.

Através de algumas pesquisas, até agora eu compilei a seguinte lista:

  • CYGWIN_NT-5.1
  • Darwin
  • FreeBSD
  • HP-UX
  • IRIX64
  • Linux
  • NetBSD
  • OpenBSD
  • SunOS
  • Unix
  • Win32
  • WINNT
  • Windows

Se alguém tem uma lista mais completa, ou sabe de quaisquer valores adicionais eu adoraria ouvi-los!

Foi útil?

Solução

passa pelo uname, exceto no Windows (WINNT) e Netware (Netware) . Consulte Wikipedia para uma lista não exaustiva de valores não mencionou na sua pergunta:

  • CYGWIN_NT-5.1
  • IRIX64
  • SunOS
  • HP-UX
  • OpenBSD (não no Wikipedia)

Outras dicas

Eu acho que a melhor solução para fazer um 'exame de exigência' seria realmente usar coisas que você precisa saber trabalho corretamente e ver o que acontece.

Por exemplo, existem constantes para separadores de diretório, funções como realpath (), etc para lidar com diretórios em sistemas operacionais diferentes.

O que, especificamente, você está tentando fazer?

parece que o php_uname("s") para Unix não-SOs seria um bom começo, pois parece-me que uname("s") e php_uname("s") são as mesmas em sistemas Unix e subsistemas POSIX, como o Cygwin, Mingw, UWin, EMX + GCC e MKS. Abaixo está uma lista de sistemas operacionais que estão fora não compatível com POSIX da caixa e que o PHP prazo.

OS

  • OS / 2 Warp
  • eComStation
  • RISC OS
  • Windows XP de 64 bits

Tenha em mente, este não é de todo para a detecção do navegador, mas caminho raiz de detecção, separadores de diretório que podem ou não ser \ e /, EOL, e algumas outras coisas.

Exemplos de caminhos de raiz

  • Unix \ linux \ Mac OS X: /
  • OS / 2: C:\
  • Amiga: dh0:
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top