Как получить версию сервера MySQL в PHP без подключения

Мне нужно повторить версию MySQL в PHP script (это страница проверки требований к серверу для пользователей перед загрузкой плагина), без подключения к их базе данных.

Загрузите этот script на свой сервер и откройте его в браузере. Я мог бы попросить их запустить php-информацию, но мне нужна только версия Mysql, и она будет отформатирована в script с остальными результатами.

Как мне это сделать?

Ответ 1

Если у вас есть доступ к исполняемому файлу mysql командной строки, вы можете попробовать следующее:

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);

Ответ 2

Вам потребуется, чтобы пользователь ввел свои учетные данные БД, чтобы вы могли подключиться к серверу MySQL и выполнить следующий запрос, чтобы получить версию сервера MySQL:

SHOW VARIABLES LIKE 'version'

Вот вывод на мой сервер:

Variable_name     Value
----------------------------
version           5.1.53-log

Ответ 3

Вывод информации по phpinfo должен быть точным. Просто добавьте следующее в файл & посетите его в браузере:

<?php phpinfo(); & найти версию mysql в mysql >> Client API version

enter image description here