GNU/Linux >> Znalost Linux >  >> Linux

PHP skript - zjistit, zda běží pod linuxem nebo pod Windows?

if (strncasecmp(PHP_OS, 'WIN', 3) == 0) {
    echo 'This is a server using Windows!';
} else {
    echo 'This is a server not using Windows!';
}

vypadá trochu elegantněji než přijímaná odpověď. Výše uvedená detekce pomocí DIRECTORY_SEPARATOR je však nejrychlejší.


Můžete zkontrolovat, zda je oddělovač adresářů / (pro unix/linux/mac) nebo \ na oknech. Název konstanty je DIRECTORY_SEPARATOR .

if (DIRECTORY_SEPARATOR === '/') {
    // unix, linux, mac
}

if (DIRECTORY_SEPARATOR === '\\') {
    // windows
}

Zkontrolujte hodnotu PHP_OS konstantní.

V systému Windows vám poskytne různé hodnoty, například WIN32 , WINNT nebo Windows .

Viz také:Možné hodnoty pro:PHP_OS a php_uname :

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo 'This is a server using Windows!';
} else {
    echo 'This is a server not using Windows!';
}

Počínaje PHP 7.2.0 můžete detekovat běžící O.S. pomocí konstanty PHP_OS_FAMILY :

if (PHP_OS_FAMILY === "Windows") {
  echo "Running on Windows";
} elseif (PHP_OS_FAMILY === "Linux") {
  echo "Running on Linux";
}

Možné hodnoty naleznete v oficiální dokumentaci PHP.


Linux
  1. Dokáže python zjistit, pod kterým OS běží?

  2. Nastavení úlohy Godaddy cron pro spouštění php skriptu

  3. Příkaz Linux pro kontrolu, zda je spuštěn skript shellu nebo ne

  1. Spuštění skriptu Python z PHP

  2. Jak přidat shebang #! s php skriptem na linuxu?

  3. Sada Linux/Ubuntu:Neplatná volba -o pipefail

  1. Zkompilujte PHP skript v Linuxu

  2. Provoz Linuxu ve Windows XP, tedy žádné duální bootování

  3. Spuštění virtuálního linuxu pomocí qemu na Windows