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

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

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

7 ответов


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

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

каталогов на PHP:

WAMP\bin\php\php5.5.12

Каталог Appache:

WAMP\bin\apache\apache2.4.9

обязательно un-comment следующая строка в php.ini-файл:

extension=ext / 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.


пользователей Linux

yum install php-intl

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

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


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

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

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

C:\wamp\bin\php\phpx.y.z
C:\wamp\bin\apache\Apachex.y.z\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 файлы\wamp\bin\php\phpX.XXX.XXX для wamp)

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