mysql_get_client_info() 的替代方法是在 MySQL 语言中使用 VERSION() 函数,例如
<?php
$query = mysql_query("SELECT VERSION() as mysql_version");
?>
输出与 mysql_get_client_info() 相同
(PHP 4 >= 4.0.5, PHP 5)
mysql_get_server_info — 获取 MySQL 服务器信息
此扩展在 PHP 5.5.0 中被弃用,并在 PHP 7.0.0 中被移除。相反,应使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南。此函数的替代方法包括
attribute
为 PDO::ATTR_SERVER_VERSION
link_identifier
MySQL 连接。如果未指定连接标识符,则假定为 mysql_connect() 最近打开的连接。如果未找到此类连接,它将尝试创建连接,就好像 mysql_connect() 已被调用且没有参数一样。如果未找到或建立连接,则会生成 E_WARNING
级别的错误。
如果成功,则返回 MySQL 服务器版本;如果失败,则返回 false
。
示例 #1 mysql_get_server_info() 示例
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('无法连接:' . mysql_error());
}
printf("MySQL 服务器版本:%s\n", mysql_get_server_info());
?>
上面的示例将输出类似于以下内容
MySQL server version: 4.0.1-alpha
mysql_get_client_info() 的替代方法是在 MySQL 语言中使用 VERSION() 函数,例如
<?php
$query = mysql_query("SELECT VERSION() as mysql_version");
?>
输出与 mysql_get_client_info() 相同
以下是我整理的一些内容,因为我需要一种方法来从服务器中提取 MySQL 版本号,而无需实际建立连接。这是因为它是 CMS 安装之前服务器信息屏幕的一部分。用户需要在安装之前知道他们的 MySQL 是否受支持,对吧?:)
这将抓取 phpinfo 页面,查找名为 Client API 版本的 MySQL 行,并返回其后的版本号。这也可用于从 phpinfo 页面中抓取几乎任何东西。:)
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 />';
这将输出
MySQL: 4.1.22(这是我服务器上的版本)
我知道这很粗糙,但这是我能想到的唯一方法,而且网上没有类似的信息,所以就有了。我擅长 preg_match,如果有人能修改此处的字符串以经受住时间的考验,那将非常有帮助。
这更好
<?php
mysql_connect('localhost', 'user', 'password') or
die('无法连接:' . mysql_error());
$a = mysql_get_server_info();
$b = substr($a, 0, strpos($a, "-"));
echo $b;
?>