Install php intl windows

Install php intl windows

On Windows, you have two ways to load a PHP extension: either compile it into PHP, or load the DLL. Loading a pre-compiled extension is the easiest and preferred way.

To load an extension, you need to have it available as a «.dll» file on your system. All the extensions are automatically and periodically compiled by the PHP Group (see next section for the download).

To compile an extension into PHP, please refer to building from source documentation.

To compile a standalone extension (aka a DLL file), please refer to building from source documentation. If the DLL file is available neither with your PHP distribution nor in PECL, you may have to compile it before you can start using the extension.

Where to find an extension?

PHP extensions are usually called «php_*.dll» (where the star represents the name of the extension) and they are located under the «PHP\ext» folder.

PHP ships with the extensions most useful to the majority of developers. They are called «core» extensions.

However, if you need functionality not provided by any core extension, you may still be able to find one in » PECL. The PHP Extension Community Library (PECL) is a repository for PHP Extensions, providing a directory of all known extensions and hosting facilities for downloading and development of PHP extensions.

If you have developed an extension for your own uses, you might want to think about hosting it on PECL so that others with the same needs can benefit from your time. A nice side effect is that you give them a good chance to give you feedback, (hopefully) thanks, bug reports and even fixes/patches. Before you submit your extension for hosting on PECL, please read » PECL submit.

Which extension to download?

Many times, you will find several versions of each DLL:

  • Different version numbers (at least the first two numbers should match)
  • Different thread safety settings
  • Different processor architecture (x86, x64, . )
  • Different debugging settings
  • etc.

You should keep in mind that your extension settings should match all the settings of the PHP executable you are using. The following PHP script will tell you all about your PHP settings:

Обновляем расширение Intl в PHP 7 на Linux Ubuntu 16.04

Программисты делятся на два типа: консерваторы, для которых переход на новую версию равносилен перелёту на другую планету (если читаешь это из Windows XP — поздравляю, это ты); и Викторы Цои, чьи сердца и глаза требуют перемен, и обновляют всё и вся при первой возможности. Если ты второго типа, и у тебя уже стоит последняя версия PHP на последней LTS версии Ubuntu, но покоя не даёт то, что расширение Intl использует устаревшую версию библиотеки ICU, или тебе просто понравились картинки из «Аватара» — добро пожаловать под кат! (Картинок больше не будет.)

Ну и зачем это?

Библиотека ICU с каждым релизом добавляет поддержку стандартов транслитерации для различных языков, добавляет новые функции и возможности, фиксит баги. Пока неизвестно, по какой причине PHP нерегулярно обновляет ICU в расширении Intl. Поэтому приходится всё брать в свои руки.

Поиск решения

Быстрый поиск по гуглу не дал внятных решений. Детальный тоже. В общем и целом пэхэпэшным программистам по барабану, какую версию ICU использует Intl. Но только не нашим! Отчаявшись искать в англоязычном сегменте интернета, совершенно случайно набрёл на запись русского блогера Сергея Стоянова, где он объясняет процесс обновления ICU в PHP 5 для Ubuntu 14.04. В PHP 7 процесс сильно отличается, но общая последовательность действий остаётся такой же: удаляем Intl; собираем новую версию ICU; устанавливаем Intl, ткнув его носом, где искать ICU; включаем Intl в PHP; открываем шампанское. Также сильно помогли комментарии к статье (особенно комментарий Антона Минина и его shell скрипт).

Читайте также:  Майкрософт не поддерживает windows

Версии ICU

Проверить последнюю версию ICU можно на их официальном сайте. На данный момент (февраль 2018) последний релиз — 60.2.

Чтобы проверить, какую версию ICU использует php7.0-intl, напиши в терминале и прокрути до списка установленных модулей. Найди там раздел, озаглавленный «intl». У меня там было:

Internationalization support => enabled
version => 1.1.0
ICU version => 55.1
ICU Data version => 55.1

Мягко говоря, не айс — версия 55.1 была выпущена в первой половине 2015-го, и с тех пор успела обновиться ещё 5 раз. Нужно же что-то делать!

Решение

Internationalization support => enabled
version => 1.1.0
ICU version => 60.2
ICU Data version => 60.2

how can I enable PHP Extension intl?

I am going to install Magento2 at my local server and it gives me following error notice.

I am using XAMPP. When I tried to enable it from php.ini file it throws another error for missing dll:

The program can’t start because MSVCP110.dll is missing from your computer. Try reinstalling the program to fix this problem.

23 Answers 23

First of all stop the xampp/wamp and then kindly remove the starting semicolon ( ; ) from your xampp/php/php.ini the following code.

And then restart your xampp/wamp.

I wrote this post if anyone come across this question for PrestaShop, I don’t know if it will work for Magento2. I solved enabling PHP extension intl for the PrestaShop installation by:

  1. Open XAMPP Control Pane.
  2. Stop the Apache server if it was started.
  3. Then from Config button click on PHP (php.ini) item.

  1. Php.ini will open in Notepad (or a default text editor), click Ctrl + F and search for ;extension=intl and remove the semicolon.

  1. Then save and close Notepad and re-start the Apache server.

These steps for me solved the issue.

Note (2): I’m using XAMPP v3.2.3 and PrestaShop v1.7.5.1

I was also having the same issue, and just now i got it solved. Please try the bellow steps to get it solved:

  • Open php.ini and remove semicolon (;) from ;extension=php_intl.dll
  • When you try to restart the apache it will through some errors, that might be because of some .dll files. Simply copy all the icu****.dll files
  • Still i was getting msvcp110.dll file missing error. I have downloaded this missing file from Here and put that in desired location

For windows 7 32 bit it is — C:\Windows\System32

  • Now Start Apache and it is working fine.

If you are using ubuntu you can take update

And install extension in case of php 5.6

And in case of php 7.0

And restart your apache after

If you are using xampp then remove semicolon ( ; ) in xampp/php/php.ini from below line

And then restart your xampp.

I have seen the screen shoot, the issue you are having is missing msvcp110.dll , this file you can download from

and upload to C:/Windows folder

than after edit php.ini from XAMPP

Save the file and restart Apache from XAMPP

For Megento Installation you Need to

  1. Stop Apache Service
  2. uncomment the extension=php_intl.dll in php.ini file.
  3. copy all 6 files icudt57.dll,icuin57.dll,icuio57.dll,icule57.dll,iculx57.dll,icuuc57.dll From php folder to apache\bin Now Restart you apache service

All you need to do is go to php.ini in your xampp folder (xampp\php\php.ini) and remove ; from ;extension=php_intl.dll

ADDITIONAL NOTE (As this is very old question and has no accepted answer yet)

here is the notes I see in my php.ini file.

Note : The syntax used in previous PHP versions (‘extension=.so’ and ; ‘extension=’php_.dll’) is supported for legacy reasons and may be ; deprecated in a future PHP major version. So, when it is possible, please ; move to the new (‘extension=) syntax.

So you will only find the extension name as intl instead of php_intl.dll and then uncommenting that line should work (It worked for me atleast).

Читайте также:  Нет настройки меню пуск windows 10

Simply copy all icu****.dll files from

intl extension will start working.

I have found two errors during the installing of Magento to localhost.
There are PHP Extension xsl and intl and I have solved the issue by following steps.

  1. Open php.ini
  2. Remove ‘#’ cha from the lines extension=php_xsl.dll and extension=php_intl.dll.
  3. Save the file and restart xamp again
  4. Click Try Again on Magento installation page.

Then all the things were passed as well as following picture.

I was having same kind of problem with ldap, intl, curl php extensions. I’ve solved those issues by the following ways:

At first you’ve to check whether these extensions have been enabled in the php.ini file by removing semicolon (;) in front of the following lines:

Secondly, libeay32.dll, ibssh2.dll and ssleay32.dll files have to be loaded by php properly to function those extensions properly. These dll files are required by several php extensions (ie curl, ldap, intl etc). These files generally reside in the php installation directory [for my case it is C:\php directory]. Additionally, for intl extension to be enabled you’re gonna need some other dll files to be loaded by php properly. The name of these files begin with icu (ie icudt57.dll icuin57.dll etc for php version 5.6). You’ll also find these files in the php main installation directory.

intl extension: installing php_intl.dll

I’m trying to locate php_intl.dll and install it.

Does anyone have any tips?

20 Answers 20

The packages at http://windows.php.net/download/ all contain the php\_intl.dll which is located in the subdir ext/ .
All you have to do is to check if your extension_dir points to the right directory and add (or uncomment) the extension=php\_intl.dll directive.

For the php_intl.dll extension to work correctly, you need to have the following files in a folder in your PATH :

  • icudt36.dll
  • icuin36.dll
  • icuio36.dll
  • icule36.dll
  • iculx36.dll
  • icutu36.dll
  • icuuc36.dll

By default they’re sitting in your PHP directory, but that directory isn’t necessarily in your PATH (it wasn’t for me, using xampp)

This has to be in your global path, not just your user’s path. To set the global path, go to system info ( windows key + PAUSE ), then Advanced System Settings (Vista+) or Advanced (XP) and click the «Environment Variables» button and add the appropriate directory to the PATH variable in the System Variables list.

I have XAMPP 1.8.3-0 and PHP 5.5.0 installed.

1) edit php.ini:

Note: After modification, need to save the file(php.ini) as well as need to restart the Apache Server.

2) Simply copy all icu* * * *.dll files:

Then intl extension works.

Had the same issue . I found the files needed by searching my drive for icu**.dll and found the ones listed above but with 46 instead of 36 in the php folder. I copy pasted them to the apache/bin file and tried starting apache and it finally started. On the Server Checks page it has now changed from Yellow Check to Green OK. Hope this helps.

If you read error message, «icuuc36.dll» is missing. The problem is that you don’t have the PHP dir in your PATH, or you can copy all «intl» files from php directory to apache\bin directory. They are : icudt36.dll icuin36.dll icuio36.dll icule36.dll iculx36.dll icutu36.dll icuuc36.dll

For WampServer 2.5 (Apache 2.4.9 and PHP 5.5.12):

In default I’ve had php_intl enabled (you can enable it when you left click on the wamp icon in the system tray > PHP > PHP extensions and check if is it marked)

To have it properly working, I’ve had to copy:

to

Then just restart the wamp and everything was just fine.

I have PHP 5.3.1 and Apache

When I add the extension=php_intl.dll to php.ini and restart apache, it comes an alert that says «the requested operation has failed»

And this error on Event Monitor:

The problem was some DLLs like icudt36.dll were missing (noticed with sysinternals ProcMon), I’ve downloaded php 5.3.1 zip version and extract all DLL’s to PHP folder. That solved the problem.

Читайте также:  Microsoft outlook 365 mac os

I resolved this issue by adding PHP directory to PATH variable. I just appended ;C:\xampp\php to Path variable in Windows Environment Variables.

I have IIS 7 and installed PHP using Microsoft Web Platform Installer on Windows 7. In IIS, go to PHP Manager in settings main page -> PHP Extensions -> Enable or Disable an Extension. Intl extension is disabled by default.

I hope this helps

You can type this command in terminal: sudo apt-get install php-intl

If you have the msvcp110.dll missing file error. You have to download the right .dll or just go here http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 and install the vcredist_x64.exe and vcredist_x86.exe, it worked for me.

When I faced this issue it was sorted out by using below mentioned steps:

extension=php_intl.dll Simply copy all icu* * * *.dll files(any icu file with dll extension) from

C:\xampp\php to C:\xampp\apache\bin

Also If you have the msvcp110.dll missing file error. You have to download the right .dll or just go here http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 and install the vcredist_x64.exe and vcredist_x86.exe.

Now the intl extension should work 🙂

In my case adding PHP directory to PATH in user environment didn’t work. After some testing I’ve found that it should be added to system PATH (I don’t know what’s the name of this part of system setting windows, ‘couse I have Polish Windows).

The package is already included in the extensions for PHP 7.2 and above and you just need to uncomment the following line in php.ini

Moving the icu*****.dll files to /ext/ seems to resolve the issue as well.

( If you specified the extension directory to be there of course )

In my xampp control panel, Click config to open php.ini

Then restart the apache.

There is a better way of doing this.

I was having same kind of problem with ldap, intl, curl php extensions. I’ve solved those issues by the following ways:

At first you’ve to check whether these extensions have been enabled in the php.ini file by removing semicolon (;) in front of the following lines:

Now you can directly load those necessary dll files (ie libeay32, libssh2, ssleay32, icu**.dll ) from your httpd.conf (apache configuratio file) file. You don’t have to do any other things like copying them to the apache’s bin directory or php’s ext directory. Just add them directly in you apache’s httpd.conf file.

Please note that the followng example is for php version 5.5.x.

That’s it. Now, restart your apache or wamp and you’re good to go.

  1. Under php extensions in your wampserver, ensure intl is checked
  2. check your extension_dir in your php/v7.0/php file ensure the directory is not commented and it is accurate
  3. (Dont know if this contributed but i did all three)In your extension list in the same file as 2 above, include the intl file in the same format as the rest(if it is not included). All the best

I was having trouble getting intl to run using PHP 7.1.7 and PhpStorm on Windows 10. Based on other answers here I could tell it was a PATH/DLL dependency problem but I couldn’t seem to find all of the required files even after (re-)installing the Visual C++ Redistributable.

I eventually went searching my C: drive for vcr*.dll and found a copy of vcruntime140.dll in my C:\Program Files\Mozilla Firefox directory. So, in addition to making these changes to php.ini:

I also set my runtime PATH to ONLY the PHP directory (in my case, C:\Program Files\PHP\7.1.7 ) and the Firefox directory (above) and it FINALLY worked! I know it needs more than just the vcruntime140.dll but the other required DLLs must be in the FF directory too (there are a few dozen but I didn’t bother to figure out which ones are essential).

Оцените статью