The requested PHP extension intl is missing from y

2019-04-20 12:05发布

问题:

I try to install the sandbox but I get the following error from composer:

Loading composer repositories with package information Installing dependencies from lock file Your requirements could not be resolved to an installable set of packages.

Problem 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.`

Problem 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.

回答1:

I had the same problem while I was installing new Magento 2.0, after different hit and trials, I manged to solve it by following these steps:

I copied all icu* files from php directory to Appache directory, and it worked.

Php direcotry:

WAMP\bin\php\php5.5.12

Appache Directory:

WAMP\bin\apache\apache2.4.9

Make sure to un-comment following line in php.ini file:

extension=ext/php_intl.dll



回答2:

Like @Hugehornet pointed out - you should enable this extension in php.ini by uncommenting this line: extension=ext/php_intl.dll

If you use wamp's interface for this task you are actually updating the php.ini file located in apache's directory.

Example: C:\wamp\bin\apache\Apache2.4.4\bin\php.ini

Composer is using the one located in the php's installation directory.

Example: C:\wamp\bin\php\php5.4.12\php.ini

You should manually edit the latter and restart the wamp server.



回答3:

Linux user

yum install php-intl


回答4:

You need to enable the intl extension in php just as the error says. In your php.ini file, uncomment the line extension=ext/php_intl.dll or something like this.

Edit : note that if you are using wamp or something like this, you should be aware of the fact that the php.ini file in the wamp config is not necessarily the one used by composer.



回答5:

First of all be sure that your server is isung x86 build (intl not working with x64), then:

  • activate intl extension in php.ini directly
  • copy all icu*.dll form php directory to apache directory
  • make sure your console using the same php folder you just configured source.

In my windows system I have two php.ini files at the flowing paths:

C:\wamp\bin\php\phpx.y.z
C:\wamp\bin\apache\Apachex.y.z\bin

I don't know which one is in your path. Just make sure to add the extension in both of them to eliminate any doubt.



回答6:

I am on a Mac OS X Yosemite, and I fix this error

the requested PHP extension mcrypt is missing from your system

by running the following commands :

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


回答7:

If intl has already been enabled and it doesn't works, add your PHP directory in the Path environment variable, then restart your server. (for example C:\Program Files\wamp\bin\php\phpX.XXX.XXX for wamp)

It has worked for me!



标签: php symfony intl