php_uname

関数の概要

php_uname は、PHPで現在動作しているオペレーティングシステム(OS)に関する情報を取得するための関数です。サーバー環境のOS名やバージョンなどを知りたい場合に利用されます。システムの種類や詳細な環境設定の確認に役立ちます。

パラメータの説明

  • mode(省略可能): 取得したい情報の種類を指定する文字列です。以下のいずれかを指定します。指定しない場合はシステム全体の情報を返します。
    • 'a': すべての情報を返します(デフォルトの動作)。
    • 's': OS名(例: Linux、Windows NTなど)。
    • 'n': ホスト名。
    • 'r': リリース名(OSのバージョン番号など)。
    • 'v': バージョン情報。
    • 'm': マシンの種類(例: x86_64など)。

戻り値

指定した mode に応じて、文字列でOS情報を返します。何も指定しなければ、OS名、ホスト名、リリース名、バージョン、マシンの種類を空白区切りで連結した文字列が返されます。

使用例

基本的な使い方

<?php
echo php_uname();
?>

OSの全情報を取得し、例えば「Linux hostname 5.4.0-42-generic #46-Ubuntu SMP」といった文字列が表示されます。

特定の情報だけ取得する例

<?php
echo 'OS名: ' . php_uname('s') . "<br>";
echo 'ホスト名: ' . php_uname('n') . "<br>";
echo 'リリース: ' . php_uname('r') . "<br>";
echo 'バージョン: ' . php_uname('v') . "<br>";
echo 'マシン: ' . php_uname('m') . "<br>";
?>

それぞれのモードに対応した情報だけを抽出して出力します。環境に応じて個別の情報が必要な時に便利です。

バージョン情報を条件で処理する例

<?php
if (strpos(php_uname('v'), 'Ubuntu') !== false) {
    echo "Ubuntu系のOSが動作しています。<br>";
} else {
    echo "Ubuntu以外のOSです。<br>";
}
?>

バージョン情報を調べてUbuntuが含まれているか判定し、条件に応じた処理を行う例です。サーバー環境ごとの特別な処理を分けたい場合に役立ちます。

関連する関数

  • PHP_OS – 静的にコンパイル時のOS名を取得(例:Linux、WINNTなど)
  • gethostname() – ホスト名のみを取得する関数
  • phpversion() – PHPのバージョンを取得

まとめ

php_uname はPHPでOSやシステムの環境情報を簡単に取得できる便利な関数です。サーバーの種類確認や環境ごとに処理を切り替えたい場合に非常に役立ちます。モード指定で必要な情報だけを取り出せるため、実務でも効率的に利用可能です。初心者の方でも理解しやすく、幅広い用途で活用できる関数として覚えておきましょう。