Точно определить тип ОС, на которой работает PHP

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

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

1 ответ

Решение

Важно знать, что ни одна из строк, отличных от ОС 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
}
Другие вопросы по тегам