if (strncasecmp(PHP_OS, 'WIN', 3) == 0) {
echo 'This is a server using Windows!';
} else {
echo 'This is a server not using Windows!';
}
sembra un po 'più elegante della risposta accettata. Tuttavia, il rilevamento di cui sopra con DIRECTORY_SEPARATOR è il più veloce.
Puoi controllare se il separatore di directory è /
(per unix/linux/mac) o \
Su Windows. Il nome della costante è DIRECTORY_SEPARATOR
.
if (DIRECTORY_SEPARATOR === '/') {
// unix, linux, mac
}
if (DIRECTORY_SEPARATOR === '\\') {
// windows
}
Controlla il valore di PHP_OS
costante.
Ti darà vari valori su Windows come WIN32
, WINNT
o Windows
.
Vedi anche:Possibili valori per:PHP_OS e 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 partire da PHP 7.2.0 è possibile rilevare il sistema operativo in esecuzione. utilizzando la costante PHP_OS_FAMILY
:
if (PHP_OS_FAMILY === "Windows") {
echo "Running on Windows";
} elseif (PHP_OS_FAMILY === "Linux") {
echo "Running on Linux";
}
Consulta la documentazione PHP ufficiale per i suoi possibili valori.