16

我需要在 PHP 脚本中回显 MySQL 版本(这是用户在下载插件之前的服务器要求检查页面),而不需要他们连接到他们的数据库。

将此脚本上传到他们的服务器并在浏览器中打开它。我可以要求他们运行 php info,但我需要的只是 Mysql 版本,它会在脚本中格式化,其余的结果。

我该怎么办?

4

4 回答 4

23

如果您有权访问命令行 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);
于 2012-05-02T13:27:34.197 回答
13

您需要用户输入他们的数据库凭据,以便您可以连接到 MySQL 服务器并运行以下查询以获取 MySQL 服务器版本:

SHOW VARIABLES LIKE 'version'

这是我服务器上的输出:

Variable_name     Value
----------------------------
version           5.1.53-log
于 2012-05-02T13:37:52.177 回答
1

输出的信息phpinfo应该是准确的。只需将以下内容添加到文件并在浏览器中访问它:

<?php phpinfo();& 找到下面的 mysql 版本mysql >> Client API version

在此处输入图像描述

于 2019-08-16T16:55:32.380 回答
0

mysql_get_client_info() 已弃用。对于 PHP 7 及更高版本,您必须使用:

echo mysqli_get_client_info();
于 2021-03-07T00:10:02.473 回答