PHPでは、 PHP_UNAME()は非常に有用な機能であり、オペレーティングシステム名、バージョン番号、アーキテクチャタイプ、その他の情報など、現在のオペレーティングシステムの詳細情報を取得するために使用されます。この機能は、デバッグ、システム監視、情報収集、その他のシナリオに非常に役立ちます。
php_uname()関数の基本的な目的は、現在のシステムに関する情報を返すことです。特定の返品コンテンツは、関数に渡すパラメーターによって異なります。この関数にパラメーターがない場合、現在のオペレーティングシステムの名前、バージョン、アーキテクチャ情報がデフォルトで返されます。
string php_uname ( string $mode = "a" )
$モードパラメーターはオプションであり、返されたシステム情報タイプを指定できます。一般的なパターンは次のとおりです。
「a」は、オペレーティングシステム名、バージョン番号、およびスキーマタイプ(デフォルト値)を返します。
「S」はオペレーティングシステムの名前を返します。
「R」は、オペレーティングシステムのリリースバージョン番号を返します。
「V」は、オペレーティングシステムのバージョン情報を返します。
「M」はマシンタイプを返します(たとえば、x86_64)。
<?php
echo php_uname();
?>
上記のコードを実行すると、返された値は次のようになる場合があります。
Linux my-server 5.4.0-42-generic #46-Ubuntu SMP Thu Jun 25 13:35:34 UTC 2020 x86_64
ここでは、オペレーティングシステムがLinux、バージョン情報が5.4.0-42-Genericであり、アーキテクチャタイプがx86_64であることがわかります。
オペレーティングシステムの名前を取得したい場合は、次のように書くことができます。
<?php
echo php_uname("s");
?>
出力は次のとおりです。
Linux
マシンアーキテクチャのみが必要な場合は、 「M」を使用できます。
<?php
echo php_uname("m");
?>
出力:
x86_64
現在のオペレーティングシステムの基本情報を表示し、この情報をリモートサーバーに送信する必要があるシステム監視スクリプトを作成するとします。 URLドメイン名をM66.netに置き換える方法のサンプルコードを次に示します。
<?php
$systemInfo = php_uname();
// リモート送信操作をシミュレートします(に送られたと仮定します m66.net)
$url = "http://www.m66.net/system_info.php?info=" . urlencode($systemInfo);
// 使用 cURL システム情報をリモートサーバーに送信します
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo "システム情報が送信されました m66.net";
?>
この例では、最初にオペレーティングシステム情報を取得し、次にurlencode()関数を介して情報をエンコードし、最後にカールを介してM66.NETドメイン名にデータを送信します。
Php_uname()は、開発者が現在のオペレーティングシステムに関する詳細情報を取得するのに役立つ非常に実用的な機能です。さまざまなモードパラメーターを使用すると、開発者は必要なシステム情報をカスタマイズできます。実際のアプリケーションでは、この情報は、サーバーの監視、ロギング、またはリモートレポートなどのシナリオで使用できます。