Note that PHP won't tell you that it reverted to displaying platform it was built on.(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
php_uname — PHP が稼動しているオペレーティングシステムに関する情報を返す
   php_uname() は、PHP が稼動しているオペレーティング
   システムに関する説明を返します。これは、phpinfo()
   の出力の先頭に出てくるものと同じです。
   単に OS の名前を取得したい場合には
   PHP_OS 定数の利用を考えてください。ただし、
   この定数が返すのは PHP が構築された OS の
   情報であることに注意しましょう。
  
古い UNIX プラットフォームの中には現在の OS 情報を取得できないものもあります。 そんな場合は、PHP をビルドした OS の情報を表示します。 これがおこるのは、 uname() ライブラリコールが存在しないか機能していない場合のみです。
mode
       mode は、どのような情報を返すのかを一文字で指定します:
       
          'a': デフォルトです。
          's', 'n', 'r', 'v', 'm'
          の各モードと同じ情報をスペースで区切って返します。
         
's': オペレーティングシステム名。
          例: FreeBSD
         
        'n': ホスト名。
          例: localhost.example.com
         
        'r': リリース名。
          例: 5.1.2-RELEASE
         
        'v': バージョン情報。
          オペレーティングシステムによって大きく変わります。
         
        'm': マシン型。例: i386
         
        説明を文字列で返します。
| バージョン | 説明 | 
|---|---|
| 8.4.0 | 無効な modeを指定した場合に、
       ValueError をスローするようになりました。 | 
例1 php_uname() の例
<?php
echo php_uname();
echo PHP_OS;
/* 出力の例
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 'このサーバーは Windows です!';
} else {
    echo 'このサーバーは Windows ではありません!';
}
?>関連する 定義済みの定数 を使うほうが簡単なこともあります。例えばこのようになります。
例2 OS 関連の定数の例
<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX;    // so
echo PATH_SEPARATOR;      // :
// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX;    // dll
echo PATH_SEPARATOR;      // ;
?>
Note that PHP won't tell you that it reverted to displaying platform it was built on.