2012-05-02 3 views
10

데이터베이스에 연결하지 않고 MySQL 버전을 PHP 스크립트 (사용자가 플러그인을 다운로드하기 전에 서버 요구 사항 확인 페이지)에 에코해야합니다.접속하지 않고 PHP로 서버 MySQL 버전을 얻는 방법

이 스크립트를 서버에 업로드하고 브라우저에서 엽니 다. 나는 그들에게 PHP 정보를 실행하도록 요청할 수 있지만, 필요한 모든 것은 MySQL 버전이며 나머지 결과와 함께 스크립트에서 포맷됩니다.

어떻게해야합니까? 명령 라인 MySQL의 실행 파일에 액세스 할 수있는 경우

+6

당신이 MySQL 서버에 연결 한까지 방법이 없다 : 여기에

SHOW VARIABLES LIKE 'version' 

나의 출력입니다 어떤 서버가 어떤 버전의 서버를 실행 중이거나 실행 중이 아닌지 확인하십시오. 가장 좋은 방법은 서버 버전이 아닌 클라이언트 버전을 찾는 것입니다. – Anigel

답변

17

이 시도 할 수 있습니다 : 클라이언트 버전에 대한

function getMySQLVersion() { 
    $output = shell_exec('mysql -V'); 
    preg_match('@[0-9]+\.[0-9]+\.[0-9][email protected]', $output, $version); 
    return $version[0]; 
} 

:

print mysql_get_client_info(); 

을 쉘 접근하지 않고 먼저 연결해야합니다 서버 버전을 얻을 :

$link = mysql_connect("localhost", "username", "password"); 
if (!$link) die('Could not connect: ' . mysql_error()); 
print "MySQL server version: " . mysql_get_server_info(); 
mysql_close($link); 
+0

많은 호스트가 shell-exec을 허용하지 않습니다. 다른 방법이라도? – Chris81

+2

클라이언트 버전이됩니다. 많은 호스트는 별도의 시스템에 서버를 가지고 있습니다. –

+0

서버에서 쉘 명령을 실행할 수있는 권한이 없으면 연결을 설정하지 않고 MySQL 버전을 가져올 수 없습니다. –

7

사용자는 자신의 DB 자격 증명을 입력해야합니다. 그래서 당신은 MySQL 서버에 연결하고 MySQL 서버 버전을 얻을 수있는 다음과 같은 쿼리를 실행할 수 있습니다

Variable_name  Value 
---------------------------- 
version   5.1.53-log 
+0

글쎄, 고마워. 내가 DB 정보를 입력하도록해야 겠어. – Chris81

관련 문제