Запрошенный PHP-расширение intl отсутствует в вашей системе (SonataAdminBundle) в Symfony2

Я пытаюсь установить песочницу, но я получаю следующую ошибку от композитора:

Загрузка репозиториев композитора с информацией о пакете Установка зависимостей из файла блокировки. Ваши требования не могут быть разрешены к устанавливаемому набору пакетов.

Проблема 1

- Installation request for sonata-project/intl-bundle 2.1.0 -> satisfiable by sonata-project/intl-bundle 2.1.0.` - sonata-project/intl-bundle 2.1.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.` 

Проблема 2

 - sonata-project/intl-bundle 2.1.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.` - sonata-project/news-bundle 2.1.x-dev requires sonata-project/intl-bundle 2.1.* -> satisfiable by sonata-project/intl-bundle 2.1.0. - Installation request for sonata-project/news-bundle 2.1. 

У меня была та же проблема, когда я устанавливал новый Magento 2.0, после различных ударов и испытаний, я помог решить его, выполнив следующие шаги:

Я скопировал все файлы icu * из каталога php в каталог Appache, и он сработал.

Php direcotry:

WAMP \ Bin \ PHP \ php5.5.12

Каталог приложений:

WAMP \ Bin \ Apache \ apache2.4.9

Не забудьте указать следующую строку в файле php.ini:

Расширение = внутр / php_intl.dll

Как отметил @Hugehornet, вы должны включить это расширение в php.ini, раскомментируя эту строку: extension = ext / php_intl.dll

Если вы используете интерфейс wamp для этой задачи, вы фактически обновляете файл php.ini, расположенный в каталоге apache.

Пример: C: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini

Composer использует тот, который находится в каталоге установки php.

Пример: C: \ wamp \ bin \ php \ php5.4.12 \ php.ini

Вы должны вручную отредактировать последнее и перезапустить сервер Wamp.

Вам нужно включить расширение intl в php, как говорит ошибка. В файле php.ini раскомментируйте extension=ext/php_intl.dll строки extension=ext/php_intl.dll или что-то вроде этого.

Изменить: обратите внимание, что если вы используете wamp или что-то вроде этого, вы должны знать, что файл php.ini в конфигурации wamp не обязательно тот, который используется композитором.

Пользователь Linux

 yum install php-intl 

Прежде всего, убедитесь, что ваш сервер isung x86 build (intl не работает с x64), а затем:

  • активировать расширение intl в php.ini напрямую
  • скопировать все icu*.dll каталог php в каталог apache
  • убедитесь, что ваша консоль использует одну и ту же папку php, которую вы только что создали.

В моей системе Windows у меня есть два файла php.ini по текущим путям:

 C:\wamp\bin\php\phpx.yz C:\wamp\bin\apache\Apachex.yz\bin 

Я не знаю, кто на вашем пути. Просто не забудьте добавить расширение в оба из них, чтобы устранить любые сомнения.

Я нахожусь в Mac OS X Yosemite, и я исправляю эту ошибку

запрошенный PHP-расширение mcrypt отсутствует в вашей системе

выполнив следующие команды:

 brew update brew upgrade brew tap homebrew/dupes brew tap josegonzalez/homebrew-php brew install php54-mcrypt 

Если intl уже включен и он не работает, добавьте свой каталог PHP в переменную окружения Path, а затем перезапустите сервер. (например, C: \ Program Files \ wamp \ bin \ php \ phpX.XXX.XXX для wamp)

Это сработало для меня!