2015-06-03 106 views
1

我正在为开发人员编写一些文档,我想包括所需的PHP扩展和每个版本。例如,一个要求是gd 2.1.1,另一个要求是phalcon 2.0.1。我如何知道安装了哪个版本的mysqli?

我知道如何弄清楚安装了哪些版本的PHP和MySQL,但是我找不出我有什么版本的mysqli扩展。 phpinfo显示下的mysqli扩展部分提供以下信息:

MysqlI Support enabled 
Client API library version 5.5.43 
Active Persistent Links 0 
Inactive Persistent Links 0 
Active Links 0 
Client API header version 5.5.41 
MYSQLI_SOCKET /var/run/mysqld/mysqld.sock 

我认为这只是告诉我,我已经安装了MySQL的版本是43年5月5日,我以为是从mysqli的版本不同。

dpkg显示PHP5-msyql的版本是5.5.9 + DFSG-1ubuntu4(我觉得有这截断一0.9),我相信这是对元数据包的版本,而不一定是扩展的版本:

$ dpkg -l php5-mysql 
Desired=Unknown/Install/Remove/Purge/Hold 
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend 
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) 
||/ Name       Version    Architecture  Description 
+++-=============================-===================-===================-================================================================ 
ii php5-mysql     5.5.9+dfsg-1ubuntu4 amd64    MySQL module for php5 
+0

mysqli只是一个PHP扩展.... –

+0

是的我知道,但其他PHP扩展有版本。例如,GD是2.1.1版,而Phalcon是2.0.1。我正在尝试将扩展程序开发者需要安装的一些文档放在一起。 –

+0

我假设你知道'phpInfo()'显示了很多关于PHP认为它可以使用的有用信息。它包含一些版本信息。 –

回答

1

你可以尝试以下: http://php.net/manual/en/reflectionextension.getversion.php

$ext = new ReflectionExtension('mysqli'); 
var_dump($ext->getVersion()); 
// Output: string(3) "0.1" 
+0

那么这个版本是0.1?这是甚至有用的信息给其他开发者吗? –

+0

输出仅用于演示。你会得到你的机器上安装的东西。对不起,我没有得到你的问题。你能简化一下吗? – Avinash

+0

我的机器上的输出是0.1。我的意思是我应该告诉开发者他们需要mysqli版本0.1还是暗含的? –

0

我发现你的答案只需访问

http://php.net/manual/en/mysqli.get-server-version.php

把你的数据库mysqli_connect链路标识符不使用数据库名称

的printf(mysqli_get_server_version(链接)); 这里作为o/p 50617所以我们的版本是5.6.7

+0

只有链接的答案在这里非常沮丧,因为这些链接将来可能会死亡。我建议你用引用来源的引文编辑你的答案。 –

+0

该函数返回MySQL服务器的版本,而不是扩展的版本。 –

+0

它显示mysqli版本的版本 –

相关问题