Почему композитор жалуется на расширение ext-mongo? - PullRequest
1 голос
/ 11 апреля 2019

Когда я пытаюсь установить doctrine / mongodb-odm-bundle и doctrine / mongodb с помощью composer, он выдает ошибку.

composer require doctrine/mongodb-odm-bundle doctrine/mongodb
Using version ^3.5 for doctrine/mongodb-odm-bundle
Using version ^1.6 for doctrine/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - doctrine/mongodb 1.6.3 requires ext-mongo ^1.6.7 -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.6.2 requires ext-mongo ^1.6.7 -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.6.1 requires ext-mongo ^1.6.7 -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.6.0 requires ext-mongo ^1.6.7 -> the requested PHP extension mongo is missing from your system.
    - Installation request for doctrine/mongodb ^1.6 -> satisfiable by doctrine/mongodb[1.6.0, 1.6.1, 1.6.2, 1.6.3].

  To enable extensions, verify that they are enabled in your .ini files:
    - 
    - /usr/local/etc/php/conf.d/docker-php-ext-mongodb.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-soap.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-zip.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Installation failed, reverting ./composer.json to its original content.

Я был удивлен, увидев это сообщение об ошибке, потому что я установил Mongodb с pecl и включил его с помощью INI-файла.

RUN pecl install mongodb \
    && docker-php-ext-enable mongodb

Кто-нибудь знает, как это решить?

1 Ответ

2 голосов
/ 11 апреля 2019

Я подумал, что, добавив раздел обеспечить с ext-mongo в файл composer.json, проблема была решена

"provide" : {
    "ext-mongo": "*"
}

Кажется, что он полностью игнорирует расширение php.

...