Możliwe wartości dla: PHP OS

Czy jest miejsce, aby znaleźć listę możliwych wartości dla predefiniowanej stałej PHP PHP_OS? Chciałbym użyć tej wartości do sprawdzenia wymagań systemowych, ale muszę wiedzieć, jak różne systemy operacyjne są nazwane w tej zmiennej.

Przez kilka poszukiwań, do tej pory skompilowałem następujące Lista:

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

Jeśli ktoś ma bardziej kompletną listę, lub zna jakieś dodatkowe wartości, chciałbym je usłyszeć!

Author: Wilco, 2009-04-11

3 answers

PHP przechodzi przez uname, z wyjątkiem Windows (WINNT) i Netware (Netware). Zobacz Wikipedia dla niewyczerpującej listy wartości nie wymienionych w twoim pytaniu:

  • CYGWIN_NT-5.1
  • IRIX64
  • SunOS
  • HP-UX
  • OpenBSD (Nie w Wikipedii)
 21
Author: phihag,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-27 07:10:46

Myślę, że lepszym rozwiązaniem do "sprawdzenia wymagań" byłoby użycie rzeczy, które trzeba wiedzieć, działają prawidłowo i zobaczyć, co się stanie.

Na przykład, istnieją stałe dla separatorów katalogów, funkcji takich jak realpath (), itp.do obsługi katalogów na różnych systemach operacyjnych.

Co konkretnie próbujesz zrobić?

 3
Author: Nick Presta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-10 21:15:30

Wydaje się, że php_uname("s") dla Systemów nie-Unixowych byłby dobrym początkiem, ponieważ wygląda na to, że uname("s") i php_uname("s") są takie same na systemach uniksowych i podsystemach posix, takich jak Cygwin, MinGW, UWin, EMX+GCC i MKS. Poniżej znajduje się lista systemów operacyjnych, które nie są zgodne ze standardem Posix i które uruchamiają PHP.

OS

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

Należy pamiętać, że nie jest to w ogóle do wykrywania przeglądarki, ale wykrywanie ścieżki głównej, separatory katalogów, które mogą lub nie mogą być \ i /, EOL i kilka innych rzeczy.

Przykłady ścieżek root

  • Unix\linux \ Mac OS X: /
  • OS/2: C:\
  • Amiga: dh0:
 0
Author: marz201,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-25 17:48:03