Точно определить тип ОС, на которой работает PHP - PullRequest
3 голосов
/ 16 октября 2010

Мне нужно определить тип ОС, на которой работает PHP-сервер. Под типом я подразумеваю строки типа "windows" или "linux", а не "wince", "winnt" и т. Д.

Пока что мне нужно привести: PHP_OS и uname (), более поздняя версия более надежна, чем прежняя (PHP_OS говорит, на чем была основана ОС PHP - согласно документации).

1 Ответ

8 голосов
/ 16 октября 2010

Важно знать, что ни одна из строк, отличных от ОС Windows, не будет содержать текст «win», и ни одна из строк, отличных от ОС OS, не будет содержать слово «darwin» и так далее. Обнаружение ОС легко.

$uname = strtolower(php_uname());
if (strpos($uname, "darwin") !== false) {
    // It's OSX
} else if (strpos($uname, "win") !== false) {
    // It's windows
} else if (strpos($uname, "linux") !== false) {
    // It's Linux
} else {
    // It's something your script won't run on
}
...