Martin Klepsch Martin Klepsch - 8 months ago 52
PHP Question

How to get the OS on which PHP is running?

For building a unix/dos specific script I need to know on which kind of operating system I am.

How do i get this information?

tells me a lot more and not very clear whether I'm running on unix or not.


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 :


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) :

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

FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001

Windows NT XN1 5.1 build 2600

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.