PHP が稼動しているオペレーティングシステムに関する情報を返す

# php_uname

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

php_uname — PHP が稼動しているオペレーティングシステムに関する情報を返す

### 説明

function php_uname(string `$mode` = "a"): string

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;      // ;
    ?>

### 参考

- phpversion() - 現在の PHP バージョンを取得する
- php_sapi_name() - ウェブサーバーと PHP の間のインターフェイスの型を返す
- phpinfo() - PHP の設定情報を出力する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open