【问题标题】:Can't install PHP extension mongo with Composer无法使用 Composer 安装 PHP 扩展 mongo
【发布时间】:2018-01-11 02:27:12
【问题描述】:

如何在mac机器上用composer安装PHP扩展Mongo?我使用以下命令通过 composer 安装 PHP 扩展。

composer install --prefer-source

我遇到了以下异常。

vagrant@vagrant:/var/www$ composer install --prefer-source
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for doctrine/mongodb 1.4.x-dev -> satisfiable by doctrine/mongodb[1.4.x-dev].
    - doctrine/mongodb 1.4.x-dev requires ext-mongo ^1.5 -> the requested PHP extension mongo is missing from your system.
  Problem 2
    - Installation request for doctrine/mongodb dev-master -> satisfiable by doctrine/mongodb[dev-master].
    - doctrine/mongodb dev-master requires ext-mongo ^1.5 -> the requested PHP extension mongo is missing from your system.
  Problem 3
    - doctrine/mongodb 1.4.x-dev requires ext-mongo ^1.5 -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb-odm dev-master requires doctrine/mongodb ~1.3 -> satisfiable by doctrine/mongodb[1.4.x-dev].
    - Installation request for doctrine/mongodb-odm dev-master -> satisfiable by doctrine/mongodb-odm[dev-master].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php5/cli/php.ini
    - /etc/php5/cli/conf.d/05-opcache.ini
    - /etc/php5/cli/conf.d/10-pdo.ini
    - /etc/php5/cli/conf.d/20-curl.ini
    - /etc/php5/cli/conf.d/20-json.ini
    - /etc/php5/cli/conf.d/20-readline.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

注意:

我已经在mac机器上安装了MongoDB,安装的版本是

Shyleen:~ shyleenrodrigues$ mongo --version
MongoDB shell version v3.4.6

【问题讨论】:

标签: php mongodb macos composer-php


【解决方案1】:

doctrine/mongodb 1.4.x-dev 需要 ext-mongo ^1.5 -> 您的系统中缺少请求的 PHP 扩展 mongo。

好像没有安装php mongodb扩展。所以请看mongodb documentation php driver

如果安装了php-dev 包,您可以通过pecl 简单地安装此扩展 - 取决于您的 php 版本。

sudo apt-get install php7.0-dev // for example on ubuntu linux!!
sudo pecl install mongodb

重启 php 并重新运行 composer 并检查其输出。

好的,在 mac 上看起来有点不同,您可以阅读 here (12.)。

【讨论】:

    猜你喜欢
    • 2019-12-04
    • 2017-03-23
    • 1970-01-01
    • 2014-04-14
    • 2015-02-03
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 2022-01-27
    相关资源
    最近更新 更多