2013-08-28 2 views
0

Мне нужен способ отображения версии базы данных Mongo на веб-сайте php. Например, я хочу показать что-то вроде «powered by MongoDB version 2.2.6»Как получить версию mongodb от php

Я не могу найти способ узнать версию базы данных, к которой подключен php mongoClient.

Я уверен, что это способ сделать это. Кто-нибудь знает как?

ответ

3
$mongo = new \Mongo(); 

$admin = $mongo->admin; 

$infos= $admin->command(array('buildinfo'=>true)); 
$version = $infos['version']; 

die($version); 

(Вы должны быть администратором, чтобы показать)

UPDATE: Без аутентификации, вы можете проверить его с помощью экземпляра MongoDB.

$c = new \MongoClient(); 
$db = 'yourdbname'; 

$mongo = new \MongoDB($c, $db); 

$mongodb_info = $mongo->command(array('serverStatus'=>true)); 
$mongodb_version = $mongodb_info['version']; 

die($mongodb_version); 
+0

Я думаю, что когда веб-сайт работает в производстве, учетные данные, используемые для подключения, не являются пользователем admin, а обычным пользователем. Я хочу показать уведомление «на питание» на обычных php-страницах, поэтому он не будет администратором в соединении MongoClient. – Dmitri

+0

Я обновил свой ответ;) – Peekmo

+0

Спасибо, сработало! – Dmitri

1

Отъезд serverStatus команда:

http://docs.mongodb.org/manual/reference/command/serverStatus/

Если вы используете драйвер PHP, проверьте:

http://php.net/manual/en/mongodb.command.php

, чтобы увидеть, как вы можете использовать эту команду.

+0

Любого пути сделать это из php и получить результат в php-скрипте? – Dmitri

0

Я не уверен, может быть, это:

<?php 
$v = `mongo --version`; 
print_r($v); 
?> 
0
$server_status = db->command(array('serverStatus' => TRUE)); 

даст вам много информации, включая версию
(вы должны быть администратором, чтобы запустить его)