2016-03-10 45 views
9

Tôi chạy: composer require mongodb/mongodb. Nhưng nó đã cho tôi những lỗi sau:nhà soạn nhạc không cài đặt mongodb ubuntu

đã lỗi:

- 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]. 

tôi đã cố gắng: composer show -p

Sau đó, nó đã cho tôi:

...... 
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 
...... 

Tại sao tôi nhận lỗi?

php -m

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

Tôi đang sử dụng ubuntu 14.04 LTS

Trả lời

9
  1. Cài đặt trình điều khiển php $ sudo pecl install mongodb
  2. Tạo tập tin mở rộng $ sudo nano /etc/php5/mods-available/mongodb.ini và viết bên trong: extension = MongoDB.nên
  3. Tạo một liên kết tượng trưng cho tập tin này $ sudo ln -sv /etc/php5/mods-available/mongodb.ini /etc/php5/apache2/conf.d/20-mongodb.ini
  4. Tạo một liên kết tượng trưng khác cho tập tin này $ sudo ln -sv /etc/php5/mods-available/mongodb.ini /etc/php5/cli/conf.d/20-mongodb.ini
  5. Khởi động lại apache hoặc máy chủ sử dụng $ sudo service apache2 restart

Có thể cần phải cài đặt lại jenssegers/MongoDB : $ composer require jenssegers/mongodb

Đây là duplicate question

+0

Tôi đã làm tất cả các bước nhưng vẫn không thể kết nối với mongodb bằng cách sử dụng php. Lỗi là 'Lỗi nghiêm trọng PHP: Lớp' MongoDB \\ Khách hàng 'không tìm thấy trong'. – void

+0

Bạn đang làm việc trên Ubuntu? – gras

+0

Có Tôi đang làm việc trên Ubuntu – void

4

tôi đang chạy:

sudo apt-get install libpcre3-dev 

thì:

pecl install mongodb 

và thêm: extension=mongodb.so xuống dưới dòng cli/php.ini

+0

cảm ơn vì đã đưa ra câu trả lời thẳng về phía trước .. tiết kiệm cho tôi một số tóc :) – jrran90

6

cho nhanh chóng và dễ dàng, chỉ cần làm:

  • sudo pecl install mongodb
  • sudo nano /etc/php5/apache2/php.ini, thêm (ở phía dưới hoặc bất cứ nơi nào):

; mongodb extension=mongodb.so

  • sudo nano /etc/php5/cli/php.ini, thêm (ở phía dưới hoặc ở bất cứ đâu):

; mongodb extension=mongodb.so

  • khởi động lại webserver cho biện pháp tốt (không cần thiết cho cli): sudo service apache2 restart
+0

Đây là câu trả lời đúng cho tôi. Composer dường như sử dụng phiên bản CLI của php.ini. – Merlevede

0

Trong trường hợp của tôi, lý do là mongo = mongodb, tôi cần phải cài đặt mongodb gói :(!

Các vấn đề liên quan