Невозможно установить доктрину mongodb в symfony2 с композитором
Я следил за официальной документацией
когда я запускаю обновление для компоновщика, у меня есть эта ошибка:
Ваши требования не могут быть разрешены к устанавливаемому набору пакетов.
Problem 1
- doctrine/mongodb 1.0.4 requires ext-mongo >=1.2.12,<1.6-dev -> the requested PHP extension mongo is missing from your system.
- doctrine/mongodb 1.0.3 requires ext-mongo >=1.2.12,<1.5-dev -> the requested PHP extension mongo is missing from your system.
- doctrine/mongodb 1.0.2 requires ext-mongo >=1.2.12,<1.4-dev -> the requested PHP extension mongo is missing from your system.
- doctrine/mongodb 1.0.1 requires ext-mongo >=1.2.12,<1.4-dev -> the requested PHP extension mongo is missing from your system.
- doctrine/mongodb 1.0.0 requires ext-mongo >=1.2.12,<1.4-dev -> the requested PHP extension mongo is missing from your system.
- doctrine/mongodb-odm 1.0.0-BETA9 requires doctrine/mongodb 1.0.* -> satisfiable by doctrine/mongodb[1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4].
- Installation request for doctrine/mongodb-odm 1.0.0-BETA9 -> satisfiable by doctrine/mongodb-odm[1.0.0-BETA9].
Когда я запускаю php -m
, я не могу найти расширение mongo, но сервер работает, и я могу использовать Mongo на PHP, кто-нибудь знает, в чем проблема?
Я сомневаюсь, что доктрина не может найти расширение манго.
благодарю!
Ответы
Ответ 1
Я исправил это!
Как и ожидалось, именно из-за расширения так вот шаги, которые нужно предпринять, если вы столкнулись с той же проблемой, что и я: the requested PHP extension mongo is missing from your system.
- запустите команду:
php --ini
, вы увидите, что все файлы конфигурации разобраны! Для меня я использую PHP-fpm, я думал, что единственный файл php.ini необходим внутри fpm-папки, но я был не прав, там был файл php.ini внутри папки CLI, и это папка, которая сообщает серверу, какие модули загружены, и это точно тот же файл, что доктрина читает расширения из.
- Откройте CLI/php.ini и добавьте эту строку в конец
extension=mongo.so
.
- Перезапустить PHP:
service php5-fpm restart
Что это!
Ответ 2
для OSX:
brew install php56-mongo
если он выйдет из строя: внимательно прочитайте сообщение об ошибке и выполните его, чтобы выполнить повторную команду.
Источник:
http://php.net/manual/en/mongo.installation.php#mongo.installation.osx