Question

Y at-il un endroit pour trouver une liste des valeurs possibles pour le PHP PHP_OS constant prédéfini? Je voudrais utiliser cette valeur pour les exigences de vérification du système, mais il faut savoir comment les différents sont nommés dans cette variable des systèmes d'exploitation.

Par quelques recherches, jusqu'à présent, j'ai compilé la liste suivante:

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

Si quelqu'un a une liste plus complète, ou connaît toutes les autres valeurs je serais ravi de les entendre!

Était-ce utile?

La solution

passe à travers le uname, sauf sous Windows (WINNT) et Netware (Netware) . Voir Wikipedia pour une liste non exhaustive des valeurs non mentionnées dans votre question:

  • CYGWIN_NT-5.1
  • IRIX64
  • SunOS
  • HP-UX
  • OpenBSD (pas dans Wikipedia)

Autres conseils

Je pense que la meilleure solution pour faire une « vérification des exigences » serait d'utiliser réellement les choses que vous devez savoir fonctionner correctement et voir ce qui se passe.

Par exemple, il existe des constantes pour les séparateurs d'annuaire, des fonctions comme realpath (), etc pour traiter les répertoires sur différents systèmes d'exploitation.

Qu'est-ce, en particulier, essayez-vous de faire?

il semble que le php_uname("s") pour les non-versions d'Unix serait un bon point de départ, car il me semble que uname("s") et php_uname("s") sont les mêmes sur les systèmes Unix et des systèmes de sous posix, comme Cygwin, Mingw, UWin, EMX + GCC et MKS. Voici une liste des systèmes d'exploitation qui ne sont pas conformes à Posix-hors de la boîte et que PHP l'exécution.

OS

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

Gardez à l'esprit, ce n'est pas du tout pour la détection du navigateur, mais chemin racine détection, séparateurs de répertoires qui peuvent ou peuvent ne pas être \ et /, EOL, et quelques autres.

Exemples de chemins racine

  • Unix \ Linux \ Mac OS X: /
  • OS / 2: C:\
  • Amiga: dh0:
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top