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.