intl extension php_intl.dll with wamp

I want to use Moodle, but I get an error during the installation process:

php_extension->intl->should be installed and enabled for best results.

Intl extension is used to improve internationalization support, such as locale aware sorting.

When I click on the link, I get the error message above: http://docs.moodle.org/24/en/admin/environment/php_extension/intl

I followed that link, but I still get the same error. If anyone has any ideas, please help me out.


Solution 1:

I had the same problem a few days ago.

You have to copy all the files (all files starts with icu*):

icudt.dll
icudt46.dll
icuin.dll
icuin46.dll
icuio.dll
icuio46.dll
icule.dll
icule46.dll
iculx.dll
iculx46.dll
icutest.dll
icutest46.dll
icutu.dll
icutu46.dll
icuuc.dll
icuuc46.dll

From:

<wamp_installation_path>/bin/php/php5.4.3/

To:

<wamp_installation_path>/bin/apache/apache2.2.22/bin/

And you also need to enable intl in php.ini file (uncomment this line):

;extension=php_intl.dll

And restart the server. It should works fine.

Of course, you need to replace the folder names with your own.

Solution 2:

Recently, newer versions of PHP 5.5 releases have php_intl.dll also linking (loading) MSVCP110.dll, in addition to the more common MSVCR110.dll (both are C/C++ runtime DLLs that provide common functions).

Before, you could just include file MSVCR110.dll somewhere in a directory of the PATH instead of installing the full set of VC++ 2012 Redistributable DLLs, and Apache + PHP + PHP extensions like php_intl.dll would all load.

If PHP is giving you this error:

PHP Startup: Unable to load dynamic library C:/wamp/php/ext/php_intl.dll – The specified module could not be found.

There are two things you have to do:

  1. Instead of copying the various icu*.dll files from PHP's folder into Apache's bin folder, just include the PHP directory into the system's PATH variable.

  2. Install the full Microsoft VC++ 2012 Runtime Redistributable package. Make sure to get the 32 bit version for 32 bit PHP builds.

See more about this issue here - Unable to load or find PHP extension php_intl.dll