Так я и сделал sudo apt-get install php5-mongo
и когда я делаю composer require "mongodb/mongodb=~1.0.0"
Я получаю это:
Problem 1
- Installation request for mongodb/mongodb ~1.0.0 -> satisfiable by mongodb/mongodb[1.0.0].
- mongodb/mongodb 1.0.0 requires ext-mongodb ^1.1.0 -> the requested PHP extension mongodb is missing from your system.
Когда я делаю dpkg -s php5-mongo
Я получаю это:
Package: php5-mongo
Status: install ok installed
Priority: optional
Section: php
Installed-Size: 326
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Source: php-mongo
Version: 1.4.5-1build1
Depends: libc6 (>= 2.15), phpapi-20121212
Conffiles:
/etc/php5/mods-available/mongo.ini f2a4848fe0856c5bbaf2afc4aee7a1b9
Description: MongoDB database driver
This package provides an interface for communicating with the MongoDB database
in PHP.
Original-Maintainer: Laszlo Boszormenyi (GCS) <[email protected]>
Homepage: http://www.mongodb.org/display/DOCS/PHP+Language+Center
Так проблема в том, что моя установка ext-mongodb слишком новая? Судя по выводу dpkg, я предполагаю, что я использую ext-mongodb 1.4.5 вместо 1.1.0, требуемого https://github.com/mongodb/mongo-php-library
редактировать: echo phpversion('mongo')
получает меня 1.4.5, а также.
Я просто удалил apt-get установленную версию php5-mongo и установил ее с помощью pecl. http://mongodb.github.io/mongo-php-driver/#installation.
Это, безусловно, было более неприятно, так как мне пришлось вручную устанавливать все зависимости. Тем не менее, если apt-get не устанавливает ничего полезного в Ubuntu 14.04, похоже, что они должны это исправить.
Я открываю запрос на Ubuntu Launchpad, чтобы получить новый драйвер php-mongodb также для верной вселенной (Ubuntu14). Он доступен в xenial, но построен на PHP7 API. https://bugs.launchpad.net/ubuntu/+source/php-mongodb/+bug/1579815