2016-03-10 5 views
9

Я побежал: composer require mongodb/mongodb. Но он дал мне следующую ошибку:композитор не устанавливает mongodb ubuntu

имеет ошибку:

- mongodb/mongodb 1.0.1 requires ext-mongodb ^1.1.0 -> the requested PHP extension mongodb is missing from your system. 
- mongodb/mongodb 1.0.0 requires ext-mongodb ^1.1.0 -> the requested PHP extension mongodb is missing from your system. 
- Installation request for mongodb/mongodb ^1.0 -> satisfiable by mongodb/mongodb[1.0.0, 1.0.1]. 

Я пробовал: composer show -p

Тогда он дал мне:

...... 
ext-iconv   0   The iconv PHP extension 
ext-mcrypt   0   The mcrypt PHP extension 
ext-mhash   0   The mhash PHP extension 
ext-mongo   1.6.12 The mongo PHP extension 
ext-mysql   1.0  The mysql PHP extension 
ext-mysqli   0.1  The mysqli PHP extension 
...... 

Почему я получаю ошибку?

php -m

..... 
libxml 
mbstring 
mcrypt 
mhash 
mongo 
mysql 
mysqli 
openssl 
pcntl 
pcre 
PDO 
..... 

Я использую Ubuntu 14.04 LTS

ответ

9
  1. Установите драйвер PHP $ sudo pecl install mongodb
  2. Создайте файл с расширением $ sudo nano /etc/php5/mods-available/mongodb.ini и написать внутри: расширение = MongoDB.так
  3. Создание символической ссылки для этого файла $ sudo ln -sv /etc/php5/mods-available/mongodb.ini /etc/php5/apache2/conf.d/20-mongodb.ini
  4. Создайте другую символическую ссылку на этот файл $ sudo ln -sv /etc/php5/mods-available/mongodb.ini /etc/php5/cli/conf.d/20-mongodb.ini
  5. Перезапуск апача или сервера, используемого $ sudo service apache2 restart

Это может быть необходимо переустановить jenssegers/MongoDB : $ composer require jenssegers/mongodb

Это duplicate question

+0

Я сделал все шаги, но все еще не смог подключиться к mongodb, используя php. Ошибка: 'PHP Fatal error: Class 'MongoDB \\ Client' не найден в'. – void

+0

Вы работаете на Ubuntu? – gras

+0

Да Я работаю над Ubuntu – void

4

Я бежать:

sudo apt-get install libpcre3-dev 

затем:

pecl install mongodb 

и добавить: extension=mongodb.so вниз линия cli/php.ini

+0

спасибо за то, что вы дали более прямой ответ. Сохраняет мне некоторые волосы :) – jrran90

6

для быстрой и простой, просто сделать:

  • sudo pecl install mongodb
  • sudo nano /etc/php5/apache2/php.ini, добавьте (в нижней части или где):

; mongodb extension=mongodb.so

  • sudo nano /etc/php5/cli/php.ini, добавьте (в нижней части или где бы то ни было):

; mongodb extension=mongodb.so

  • перезагрузка веб-сервер для ровного (не требуется для кли): sudo service apache2 restart
+0

Это был правильный ответ для меня. Composer, похоже, использует версию CLI для php.ini. – Merlevede

0

В моем случае, причина в том, что mongo = mongodb, мне нужно установить пакет mongodb :(!

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