14

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.

Makoto
  • 104,088
  • 27
  • 192
  • 230
Ankur Saxena
  • 629
  • 3
  • 13
  • 26
  • Possible duplicate of [intl extension: installing php\_intl.dll](http://stackoverflow.com/questions/1451468/intl-extension-installing-php-intl-dll) – jww Jul 28 '14 at 10:35

4 Answers4

58

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.

Expedito
  • 7,771
  • 5
  • 30
  • 43
Athlan
  • 6,389
  • 4
  • 38
  • 56
4

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

rightstuff
  • 6,412
  • 31
  • 20
0

Copy your icu* files to <wamp_installation_path>/bin/apache/apachexxxxx/bin/

This worked for me.

trincot
  • 317,000
  • 35
  • 244
  • 286
  • This is just the same as [this existing answer](http://stackoverflow.com/a/16372984/1402846). – Pang Nov 24 '15 at 01:08
0

I tried many options (including the ones suggested by Moodle) to no avail; the VC++ redistributable helped me.

Please note that you may have to install x86 version even when you may be having a 64 bit OS.

https://www.microsoft.com/en-us/download/details.aspx?id=48145

Lalit Singh Rana
  • 137
  • 1
  • 1
  • 10