if (strncasecmp(PHP_OS, 'WIN', 3) == 0) {
echo 'This is a server using Windows!';
} else {
echo 'This is a server not using Windows!';
}
parece un poco más elegante que la respuesta aceptada. Sin embargo, la detección antes mencionada con DIRECTORY_SEPARATOR es la más rápida.
Puede verificar si el separador de directorios es /
(para unix/linux/mac) o \
en ventanas El nombre de la constante es DIRECTORY_SEPARATOR
.
if (DIRECTORY_SEPARATOR === '/') {
// unix, linux, mac
}
if (DIRECTORY_SEPARATOR === '\\') {
// windows
}
Comprueba el valor del PHP_OS
constante.
Le dará varios valores en Windows como WIN32
, WINNT
o Windows
.
Ver también:Valores posibles para:PHP_OS y 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!';
}
A partir de PHP 7.2.0, puede detectar el sistema operativo en ejecución. usando la constante PHP_OS_FAMILY
:
if (PHP_OS_FAMILY === "Windows") {
echo "Running on Windows";
} elseif (PHP_OS_FAMILY === "Linux") {
echo "Running on Linux";
}
Consulte la documentación oficial de PHP para conocer sus posibles valores.