Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?
phpinfo(); tells me a lot more and not very clear whether I'm running on unix or not.

like image 394
Martin Klepsch Avatar asked Sep 26 '09 21:09

Martin Klepsch


People also ask

Is Linux good for PHP?

If you're talking about PHP development, there's pretty robust support in all of the operating systems. Linux really starts shining if you're monkeying with the source code and/or building PHP extensions (it's possible on Windows, but VERY unpleasant).


1 Answers

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.

like image 78
Pascal MARTIN Avatar answered Oct 21 '22 18:10

Pascal MARTIN