2015-06-03 139 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版本的版本 –

相關問題