현재 위치: > 최신 기사 목록> 서버에서 php_uname () disabled로 server에서 php_uname ()를 사용하여 교체하는 방법

서버에서 php_uname () disabled로 server에서 php_uname ()를 사용하여 교체하는 방법

M66 2025-06-02

일부 제한된 서버 환경에서는 일반적으로 보안상의 이유로 php_uname ()가 비활성화되거나 사용할 수 없을 수 있습니다. 그러나 때로는 운영 체제 유형, 버전, 하드웨어 정보 등과 같은 서버에 대한 시스템 정보를 여전히 얻어야합니다.이 경우 일부 대안을 찾아야합니다. 이 기사는 시스템 정보를 얻기위한 몇 가지 대안을 제공합니다.

1. getenv ()를 사용하여 환경 변수를 얻습니다

php_uname ()가 비활성화되어 있지만 getenv () 함수는 환경 변수에 액세스 할 수 있으며 때로는 이러한 변수가 유용한 정보를 제공 할 수 있습니다.

 <?php
// 운영 체제 관련 정보를 얻으십시오
$os = getenv('OS');
echo "운영 체제: " . $os;
?>

시스템이 해당 환경 변수로 구성된 경우이 방법은 운영 체제 정보를 반환 할 수 있습니다.

2. Shell_Exec ()를 사용하여 시스템 명령을 실행하십시오

PHP에서 외부 명령을 실행할 수있는 경우 Shell_Exec () 함수를 사용하여 시스템 명령을 실행하여 더 많은 시스템 정보를 얻을 수 있습니다. 예를 들어:

 <?php
// 사용 uname 命令获取운영 체제信息
$system_info = shell_exec('uname -a');
echo "시스템 정보: " . $system_info;
?>

이 코드는 운영 체제 유형, 버전, 커널 버전 등을 포함하여 운영 체제의 Uname 명령 및 출력을 실행합니다. 일부 서버는 Shell_Exec () 함수를 비활성화 할 수 있으므로이 메소드가 항상 실현 가능하지는 않습니다.

3. phpinfo ()를 사용하여 PHP 구성 정보를 얻으십시오

phpinfo ()는 주로 PHP 구성 정보를 출력하는 데 사용되지만 운영 체제, PHP 구성 경로 등과 같은 서버 환경에 대한 정보를 제공 할 수도 있습니다.

 <?php
// 산출 PHP 구성 정보
phpinfo();
?>

이 코드는 운영 체제 정보를 포함한 다양한 구성 항목을 출력합니다. PHP_UNAME ()가 비활성화 된 경우, 특히 PHP 구성의 다른 측면을 살펴 봐야하는 경우 이는 매우 유용한 대안입니다.

4. GethostName ()을 사용하여 호스트 이름을 얻습니다

gethostname () 함수 현재 서버의 호스트 이름을 반환합니다. 서버 이름을 얻는 데 사용할 수 있습니다. 자세한 운영 체제 정보를 제공하지는 않지만 때로는 현재 서버를 식별하는 데 도움이 될 수 있습니다.

 <?php
// 서버의 호스트 이름을 얻으십시오
$hostname = gethostname();
echo "호스트 이름: " . $hostname;
?>

이 코드는 단순히 현재 서버의 호스트 이름을 출력하며 정보가 적은 정보를 제공하지만 일부 경우에도 여전히 유용합니다.

5. 원격 시스템 정보를 얻으려면 file_get_contents () 를 사용하십시오

원격 서버에서 시스템 정보를 얻어야하는 경우 file_get_contents ()를 사용하여 외부 리소스를 요청할 수 있습니다. 데모를 위해 M66.net 에서 시스템 정보 페이지를 얻으려면 :

 <?php
// 원격 서버 정보를 얻으십시오
$remote_info = file_get_contents('http://m66.net/system-info.php');
echo "远程시스템 정보: " . $remote_info;
?>

이렇게하면 HTTP 요청을 통해 외부 페이지의 내용을 얻을 수 있습니다. 필요에 따라 시스템 정보가 포함 된 페이지를 가리 키도록 URL 주소를 조정할 수 있습니다.

요약

php_uname () 은 시스템 정보를 얻는 편리한 방법이지만 서버에서 비활성화 된 경우 다른 PHP 기능을 대신 사용할 수 있습니다. 예를 들어, getenv () , shell_exec () , phpinfo ()gethostname () 은 모두 운영 체제 및 서버에 대한 기본 정보를 제공 할 수있는 유효한 대안입니다. 또한 file_get_contents () 함수를 사용하여 외부에서 정보를 얻는 데 특히 원격 서버를 쿼리해야 할 때도 정보를 얻을 수 있습니다.

각 방법에는 고유 한 사용 시나리오가 있습니다. 다양한 요구를 충족시키기 위해 올바른 솔루션을 선택하면 제한된 서버 환경에서 필요한 시스템 정보를 성공적으로 얻을 수 있습니다.