Here is something I put together because I needed a way to pull the MySQL version number from the server without actually having a connection. This was due to being part of a server info screen prior to installation of a cms. Users need to know if their MySQL is supported or not prior to installation right? :)
This will scrape the phpinfo page looking for the MySQL row that says Client API version and return the version number after it. This could also be used to scrape just about anything from the phpinfo page. :)
ob_start();
phpinfo(INFO_MODULES);
$info = ob_get_contents();
ob_end_clean();
$info = stristr($info, 'Client API version');
preg_match('/[1-9].[0-9].[1-9][0-9]/', $info, $match);
$gd = $match[0];
echo 'MySQL: '.$gd.' <br />';
This will output:
MySQL: 4.1.22 (which is the version on my server)
I know this is crude but it's the only thing I could come up with and there isn't anything like this info available online so here it is. I suck at preg_match and it would be helpful if someone could modify the string here to stand the test of time.
mysql_get_server_info
(PHP 4 >= 4.0.5, PHP 5)
mysql_get_server_info — MySQL 서버 정보를 반환
설명
string mysql_get_server_info
([ resource $link_identifier
] )
MySQL 서버 버전을 조회한다.
인수
- link_identifier
-
MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 인수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 등급의 오류를 생성합니다.
반환값
성공하면 MySQL 서버 버전을, 실패하면 FALSE를 반환한다.
예제
Example #1 mysql_get_server_info() 예제
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
printf("MySQL server version: %s\n", mysql_get_server_info());
?>
위 예제의 출력 예시:
MySQL server version: 4.0.1-alpha
참고
- mysql_get_client_info() - MySQL 클라이언트 정보를 반환
- mysql_get_host_info() - MySQL 호스트 정보를 반환
- mysql_get_proto_info() - MySQL 프로토콜 정보를 얻는다
- phpversion() - Gets the current PHP version
mysql_get_server_info
cmscoder at seasamecreek dot info
16-May-2008 11:55
16-May-2008 11:55
Kalle Sommer Nielsen
29-May-2007 11:54
29-May-2007 11:54
An alternative to mysql_get_client_info() is to use the VERSION() function in MySQL language like:
<?php
$query = mysql_query("SELECT VERSION() as mysql_version");
?>
The output is the same as mysql_get_client_info()
cNOooSPAMlmax1 at o2 dot pl
08-Jul-2006 11:27
08-Jul-2006 11:27
That's better:
<?php
mysql_connect('localhost', 'user', 'password') or
die('Could not connect: ' . mysql_error());
$a = mysql_get_server_info();
$b = substr($a, 0, strpos($a, "-"));
echo $b;
?>
