56 votes

Valeurs possibles pour : PHP_OS

Existe-t-il un endroit où l'on peut trouver une liste des valeurs possibles pour la constante prédéfinie par PHP ? PHP_OS ? J'aimerais utiliser cette valeur pour une vérification de la configuration requise, mais j'ai besoin de savoir comment les différents systèmes d'exploitation sont nommés dans cette variable.

Après quelques recherches, j'ai établi la liste suivante :

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

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

21voto

phihag Points 89765

PHP passe par le uname , sauf sous Windows ( WINNT ) y Netware ( Netware ) . Voir Wikipedia pour une liste non exhaustive de valeurs non mentionnées dans votre question :

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

3voto

Nick Presta Points 13298

Je pense qu'une meilleure solution pour faire un "contrôle des exigences" serait d'utiliser réellement les choses dont vous devez savoir qu'elles fonctionnent correctement et de voir ce qui se passe.

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

Qu'est-ce que vous essayez de faire, concrètement ?

0voto

marz201 Points 1

Il semble que le php_uname("s") pour les systèmes d'exploitation non Unix serait un bon début, puisqu'il me semble que uname("s") y php_uname("s") sont les mêmes sur les systèmes Unix et les sous-systèmes posix, tels que Cygwin, Mingw, UWin, EMX+GCC et MKS. Voici une liste des systèmes d'exploitation qui ne sont pas compatibles avec Posix et qui utilisent PHP.

OS

  • OS/2 Warp
  • eComStation
  • RISC OS
  • Windows XP 64-bit

Gardez à l'esprit qu'il ne s'agit pas du tout de la détection du navigateur, mais de la détection du chemin racine, des séparateurs de répertoires qui peuvent être ou ne pas être des \ y / L'EOL, et quelques autres choses encore.

Exemples de chemins radiculaires

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X