admin/environment/php extension/intl

From MoodleDocs
Revision as of 16:36, 9 December 2021 by Tim Bahula 2 (talk | contribs) (→‎MS Windows: clean up, typos fixed: the the → the)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The Internationalization extension (Intl) is a wrapper for the ICU library, a set of C/C++ and Java libraries that provide Unicode and Globalization support for software applications. It enables PHP programmers to perform UCA-conformant collation and date/time/number/currency formatting in their scripts.

The Intl extension is required in Moodle 3.4 onwards.

MS Windows

To enable this extension add the following line to your php.ini file usually found in /php:

extension= php_intl.dll

And then set the intl.default_locale and intl.error_level directives in your php.ini file.

[intl]

intl.default_locale = en_utf8

intl.error_level = E_WARNING

The intl.error_level directive is optional.

In a WAMP installation it may be required to add the php path to the system PATH so that the module4 could uploaded properly (see http://forum.wampserver.com/read.php?2,80704,82499 for a couple of other approaches).

Problems in Windows 11 VirtualBox virtual machines

If you had the msvcp110.dll missing file error, you added that file and then you got the intl missing error which can not be solved by doing the above instructions, you need to go to http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 and install the vcredist_x64.exe and vcredist_x86.exe, as described in https://stackoverflow.com/a/18876880

Other operating systems

Use system package manager or specify compilation flag.

  • Debian 5.0 (& Ubuntu) use: apt-get install php-intl.
  • CentOS 8.0 (& Red Hat) use: dnf install php-intl. CentOS 7.0 (& RedHat) use: yum install php-intl. The package name may be slightly different depending on the repository used for PHP packages, e.g. php74-intl.

See also