How to get the OS on which PHP is running?
PHP has many predefined constants that are often useful.
Here, PHP_OS
is the one you are looking for.
For instance, on my current machine, this code :
var_dump(PHP_OS);
Gives :
string 'Linux' (length=5)
You have some examples and comparisons with what the php_uname
function can get you on the manual page of php_uname
; for instance (quoting) :
<?php
echo php_uname();
echo PHP_OS;
/* Some possible outputs:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux
FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD
Windows NT XN1 5.1 build 2600
WINNT
*/
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
echo 'This is a server using Windows!';
} else {
echo 'This is a server not using Windows!';
}
That page also says :
For the name of just the operating system, consider using the
PHP_OS
constant, but keep in mind this constant will contain the operating system PHP was built on.
Just bear in mind that PHP_OS
actually contains the platform on which PHP was built. This may not be the same platform as that on which it is deployed. Therefore php_uname('s')
is more reliable.