我需要在 PHP 脚本中回显 MySQL 版本(这是用户在下载插件之前的服务器要求检查页面),而不需要他们连接到他们的数据库。
将此脚本上传到他们的服务器并在浏览器中打开它。我可以要求他们运行 php info,但我需要的只是 Mysql 版本,它会在脚本中格式化,其余的结果。
我该怎么办?
如果您有权访问命令行 mysql 可执行文件,则可以尝试以下操作:
function getMySQLVersion() {
$output = shell_exec('mysql -V');
preg_match('@[0-9]+\.[0-9]+\.[0-9]+@', $output, $version);
return $version[0];
}
对于客户端版本:
print mysql_get_client_info();
如果没有 shell 访问权限以获取服务器版本,您必须先连接:
$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);
您需要用户输入他们的数据库凭据,以便您可以连接到 MySQL 服务器并运行以下查询以获取 MySQL 服务器版本:
SHOW VARIABLES LIKE 'version'
这是我服务器上的输出:
Variable_name Value
----------------------------
version 5.1.53-log
mysql_get_client_info() 已弃用。对于 PHP 7 及更高版本,您必须使用:
echo mysqli_get_client_info();