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 () 함수를 통해 정보를 인코딩하고 마지막으로 CURL을 통해 데이터를 M66.NET 도메인 이름으로 보냅니다.
PHP_UNAME ()는 개발자가 현재 운영 체제에 대한 자세한 정보를 얻는 데 도움이되는 매우 실용적인 기능입니다. 다른 모드 매개 변수를 통해 개발자는 필요한 시스템 정보를 사용자 정의 할 수 있습니다. 실제 응용 프로그램 에서이 정보는 서버 모니터링, 로깅 또는 원격보고와 같은 시나리오에서 사용될 수 있습니다.