GNU/Linux >> Tutoriels Linux >  >> Linux

Script PHP - détecter s'il s'exécute sous Linux ou Windows ?

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

semble un peu plus élégant que la réponse acceptée. La détection susmentionnée avec DIRECTORY_SEPARATOR est cependant la plus rapide.


Vous pouvez vérifier si le séparateur de répertoire est / (pour unix/linux/mac) ou \ sur les fenêtres. Le nom de la constante est DIRECTORY_SEPARATOR .

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

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

Vérifier la valeur du PHP_OS constante.

Il vous donnera différentes valeurs sous Windows comme WIN32 , WINNT ou Windows .

Voir aussi :Valeurs possibles pour :PHP_OS et 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!';
}

À partir de PHP 7.2.0, vous pouvez détecter le système d'exploitation en cours d'exécution. en utilisant la constante PHP_OS_FAMILY :

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

Voir la documentation PHP officielle pour ses valeurs possibles.


Linux
  1. Empaqueter un script Python sous Linux dans un exécutable Windows

  2. exécution d'un script php (fonction php) sous linux bash

  3. Détecter Windows ou Linux en C, C++

  4. Construction multiplateforme sous Windows ciblant Linux à l'aide de CMake

  5. Ensemble Linux/Ubuntu :option illégale -o pipefail

Obtenez podman opérationnel sur Windows en utilisant Linux

Space Cadet Pinball pour Windows 95 recompilé pour Linux fonctionnant sur Windows 11 en tant qu'application Linux sous WSLg

Sécurité Linux contre Windows

Exécuter un script Python à partir de PHP

Comment ajouter un shebang # ! avec un script php sous linux?

Vérifier quelle version de PHP j'utilise sous Linux ?