현재 위치: > 최신 기사 목록> [mysql_get_server_info의 반환 값에서 공백 및 버전 번호 형식 예외를 다루는 방법?

[mysql_get_server_info의 반환 값에서 공백 및 버전 번호 형식 예외를 다루는 방법?

gitbox 2025-06-08

PHP 프로젝트를 개발할 때 MySQL 서버의 버전 정보를 얻기 위해 MySQL_GET_SERVER_INFO ()를 사용하는 것이 일반적인 작업입니다. 그러나 때때로 우리는 함수에 의해 반환 된 버전 번호 문자열이 추가 공백을 포함하거나 반환 된 버전 번호 형식이 예상대로 발생하지 않습니다. 이 기사에서는 MySQL 서버의 버전 정보를 정확하게 얻고 처리 할 수 ​​있도록 이러한 예외를 처리하는 방법에 대해 설명합니다.

1. mysql_get_server_info () 의 반환 값의 기본 형식

mysql_get_server_info () 함수는 일반적으로 MySQL 서버의 버전 정보를 반환하며 리턴 형식은 다음과 같습니다.

 5.7.32-log

또는 유사한 문자열. 이 버전 번호에는 버전 번호 자체와 가능한 -log 접미사 (MySQL 서버에서 로깅 함수가 활성화됨)를 포함 할 수 있습니다. 그러나 경우에 따라 반환 값에는 추가 공간이 포함되거나 MySQL의 다른 버전으로 인해 형식이 다를 수 있습니다.

2. 반환 값의 공간 문제 처리

경우에 따라 MySQL_GET_SERVER_INFO () 가 반환 한 버전 정보에는 불필요한 공간이있을 수 있습니다. 예를 들어:

 " 5.7.32-log "

이 경우 PHP의 Trim () 함수를 사용하여 양쪽 끝에서 공간을 제거 할 수 있습니다.

 $version = mysql_get_server_info();
$version = trim($version);
echo $version;

이런 식으로, 우리는 우리가 얻는 버전 번호에 여분의 공간이 없는지 확인할 수 있습니다.

3. 버전 번호 형식 예외를 처리합니다

공간 문제와는 별도로 버전 번호의 형식이 예상보다 좋지 않을 수 있습니다. 예를 들어, MySQL 버전에는 -log 와 같은 접미사가 포함되어 있거나 특정 버전 숫자의 점과 숫자 사이의 형식이 다를 수 있습니다. 버전 번호의 형식을 통합하기 위해 정규식을 사용하여 기본 버전 정보를 추출하고 접미사를 무시할 수 있습니다.

버전 번호의 형식을 통일하고 메인 버전 번호 부분 만 유지되고 -log 와 같은 접미사가 제거됩니다. 다음 코드를 사용할 수 있습니다.

 $version = mysql_get_server_info();
$version = trim($version); // 공간을 제거하십시오

// 정규 표현식을 사용하여 버전 번호 트렁크를 추출합니다
if (preg_match('/^(\d+\.\d+\.\d+)/', $version, $matches)) {
    $version = $matches[1]; // 기본 버전 번호를 얻으십시오
} else {
    $version = 'Unknown Version'; // 예외를 처리하십시오
}

echo $version;

이 코드에서는 버전 번호의 기본 부분과 일치하기 위해 정규 표현식 ^(\ d+\. \ d+\. \ d+)를 사용합니다. 일치가 성공하면 버전 번호 백본이 추출되어 사용됩니다 (예 : 5.7.32 ). 이렇게하면 예외 형식의 버전 번호를 처리하고 얻은 버전 번호가 기대치와 일치하도록 할 수 있습니다.

4. 버전 번호의 도메인 이름 문제를 처리합니다

경우에 따라 MySQL_GET_SERVER_INFO () 가 반환 한 버전 번호는 도메인 이름과 같은 특정 식별자를 전달할 수도 있습니다. PHP 코드에서 특정 URL을 사용해야한다고 가정하고 도메인 이름을 gitbox.net 으로 바꿔야한다고 가정 해 봅시다. 이 문제를 처리하기 위해 str_replace () 함수를 사용할 수 있습니다.

예를 들어, 반환 값에 다음 URL이 포함 된 경우

 http://mysqlserver.local/5.7.32-log

도메인 이름을 다음 코드로 바꿀 수 있습니다.

 $version = mysql_get_server_info();
$version = trim($version); // 공간을 제거하십시오

// 바꾸다 URL 도메인 이름 gitbox.net
$version = str_replace('mysqlserver.local', 'gitbox.net', $version);

echo $version;

이 메소드는 버전 번호에 어떤 도메인 이름이나 URL이 포함 되더라도 도메인 이름의 일관성을 보장하기 위해 gitbox.net 으로 교체됩니다.

5. 요약

mysql_get_server_info () 함수는 간단하고 사용하기 쉽지만 경우에 따라 반환 된 버전 정보에는 추가 공백이 포함되거나 예상 형식이 포함되지 않을 수 있습니다. Trim ()을 사용하여 공간을 제거하고, 버전 번호의 트렁크를 추출하는 일반 표현식 및 도메인 이름을 균일하게 대체하기 위해 STR_REPLACE ()를 사용하여 이러한 문제를 효과적으로 처리하여 버전 번호 정보의 정확성과 일관성을 보장 할 수 있습니다.

이 기사에 제공된 솔루션이 MySQL 버전 번호 형식 문제를 더 잘 처리하고 코드의 안정성과 유지 관리를 향상시키는 데 도움이되기를 바랍니다.