На моей установке Ubuntu 12.04 я устанавливаю PHP5 (5.5) из пакета ondej. Все работает нормально с PHP, Apache и MySQL, я также успешно устанавливаю Mongo daemom и Mongo client. Но тогда PHP не может найти драйвер MongoDB в груше.
Я выполнил все шаги, описанные в документации, которую я добавил расширение в файл php.ini в CLI-папке, перезапустившей сервер, обновил все и снова перезапустил сервер.
Я давно застрял в этом вопросе. Где я должен заглядывать. Мой Ubuntu также работает на виртуальной машине, которую я пробовал как на VMWare, так и на VirtualBox (не то, что это может сделать, насколько мне известно).
благодаря
PS Здесь есть два похожих вопроса, но они не помогли мне решить мою проблему.
Я могу дать вам мой рецепт сборки из новой установки 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. И сделайте то же самое для конфигурации apache.
sudo vi /etc/php5/cli/php.ini sudo vi /etc/php5/apache2/php.ini
Личные предпочтения, после комментариев по «Динамическим расширениям»,
extension=mongo.so
Проверьте, что использование и подключение не вызывают ошибки. Создать 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
На всякий случай, вот мои шаги для установки php и mongo, которые я использую на Amazon:
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.
Установите драйвер PHP MongoDB:
sudo apt-get install php5-dev php5-cli php-pear
sudo pecl install mongo
Установите php5-mongo Pacakge:
sudo apt-get install php5-mongo
Откройте файл php.ini и добавьте к нему:
расширение = mongo.so