2014-03-13 2 views
1

На моей установке Ubuntu 12.04 я устанавливаю PHP5 (5.5) из пакета ondej. Все работает нормально с PHP, Apache и MySQL, я также успешно устанавливаю Mongo daemom и Mongo client. Но тогда PHP не может найти драйвер MongoDB в груше.PHP не может найти драйвер MongoDB

Я выполнил все шаги, описанные в документации, которую я добавил расширение в файл php.ini в папке CLI, перезапустившей сервер, обновил все и снова перезапустил сервер.

Я застрял в этой проблеме довольно долгое время. Где я должен заглядывать. Мой Ubuntu также работает на виртуальной машине, которую я пробовал как на VMWare, так и на VirtualBox (не то, что это может сделать, насколько мне известно).

P.S. Здесь есть два похожих вопроса, но они не помогли мне решить мою проблему.

+0

Проверьте информацию PHP и убедитесь, что MongoDB раздел есть. Также проверьте свой журнал ошибок сервера, чтобы он отображал какие-либо ошибки при попытке загрузить любое расширение из phpini. –

ответ

2

Я могу дать вам мой рецепт сборки из новой установки 12.04. Свежий просто работает через конфигурацию и только для выбора опции «SSH-сервер» в конце.

Установка MongoDB не обязательна, поэтому, если вы хотите это на другом сервере, то пропустите. Но общие инструкции приходят из:

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Все команды разделены и не автоматизированным, так что вы можете увидеть шаги:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list 
sudo apt-get install software-properties-common 
sudo apt-get install python-software-properties 
sudo add-apt-repository ppa:ondrej/php5 
sudo apt-get update 
sudo apt-get install mongodb-10gen 
sudo apt-get install build-essential 
sudo apt-get install php5-dev 
sudo apt-get install libcurl4-openssl-dev 
sudo pecl install mongo 

Много вывода компилятора. Окончание с успехом и запрос mofidy php.ini

Редактирование настроек CLI. И сделать то же самое для апача конфигурации, а также

sudo vi /etc/php5/cli/php.ini 
sudo vi /etc/php5/apache2/php.ini 

личных предпочтений, после комментариев к

extension=mongo.so 

Test «динамических расширений», что использование и подключение не выдаст ошибку. Создать test.php:

<?php 

    $m = new MongoClient('mongodb://localhost/', 
     array('connectTimeoutMS'=> 500, 'socketTimeoutMS' => 500)); 

?> 

и запустить из командной строки:

php test.php 

нет ошибок. Тогда вы все настроены.

$ php -v 
PHP 5.5.3-1ubuntu2.1 (cli) (built: Dec 12 2013 04:24:35) 
Copyright (c) 1997-2013 The PHP Group 
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies 
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies 
+0

Спасибо за рецепт, который я использовал раньше, но он все еще не может найти драйвер. Я пробовал с текущей версией PHP из apt-get 5.3.something, и мне пришлось добавить mongo.ini в доступный по модам каталог для PHP, чтобы найти драйвер, и он это сделал. Однако с новой версией PHP этот трюк не работает. –

+0

@HristoPetev Суть в том, что я выполнил эти шаги, установив новую свежую виртуальную машину, и драйвер доступен для меня. Поэтому, если вы начнете снова и сделаете то же самое, вы получите тот же результат. –

+0

Я выполнил инструкцию на новой виртуальной машине с нуля, и драйвер по-прежнему недоступен. Я пробовал это 3 раза. –

2

всякий случай вот мои шаги для PHP и установки Монго, которые я использую на Амазонке:

sudo -i 
add-apt-repository ppa:ondrej/php5 
apt-get update && apt-get upgrade && apt-get install php5 

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list 
apt-get update && apt-get install mongodb-10gen 

apt-get install php-pear php5-dev 
pecl install mongo 

nano /etc/php5/apache2/php.ini 

и изменить

error_reporting = E_ALL 
display_errors = On 

и добавить: extension=mongo.so

service apache2 restart 

Это будут установлены последние версии PHP, mongo и новейших mongodriver.

0

Установка MongoDB PHP Driver:

Sudo APT-получить установку php5-Dev php5-CLI PHP-груша
Судо PECL установить Монго

Установка php5-Монго Pacakge:

sudo apt-get install php5-mongo

Откройте файл php.ini и добавить к нему:

расширение = mongo.so

Смежные вопросы