intl extension: installing php_intl.dll
Asked Answered
K

20

85

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

Does anyone have any tips?

Kathikathiawar answered 20/9, 2009 at 17:7 Comment(0)
D
64

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.

Demerit answered 20/9, 2009 at 19:17 Comment(1)
Do not forget to restart Apache after changes to php.ini file.Davinadavine
G
99

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.

Giraud answered 22/5, 2011 at 9:9 Comment(9)
Great answer! upvoted. Just a note, may help, if you are using xampp, restart xampp after you make the change to "Environment Variables".Avina
Answer is awesome. Helped me to solve problem with Yii2 MessageFormater.php. Big thanksStructure
Just ran into this a second time for the same issue on a different computer. Wish I could up-vote it twice.Gamages
For php7.1.6 the DLLs contain the number 57 instead of 36. The solution is still just to add the php directory to PATH.Mercier
As pointed out in user2650636 answer, you can also copy icu*.dll files in your apache/bin folder (or whatever folder your main executable is in), instead of adding them in the path. Though not perfect, this allows different versions of PHP to run on the same system.Collywobbles
I am using win10 with mamp and I cannot find these files. Where they suppose to be?Repatriate
Where can I get these files?Endomorphic
I'm using php-8.0 on Windows 10 and I can't seem to get it to work? Can anyone help me? Also, I'm using an Apache server. My files seem a bit different with a different number and only three or four files are present in the directory.Endomorphic
@Endomorphic On Windows 10, hit the Windows key and search for "Advanced System Settings". Tab over to the Advanced tab, and click the Environment Variables button. Then Edit the Path variable and add a New line with the full path to your PHP directory. For example: C:\PHP\8.1.22\Caceres
D
64

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.

Demerit answered 20/9, 2009 at 19:17 Comment(1)
Do not forget to restart Apache after changes to php.ini file.Davinadavine
T
63

I have XAMPP 1.8.3-0 and PHP 5.5.0 installed.

1) edit php.ini:

from

;extension=php_intl.dll

to

extension=php_intl.dll

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:

from

C:\xampp\php

to

C:\xampp\apache\bin

Then intl extension works!!!

Tighe answered 4/8, 2013 at 14:53 Comment(5)
@rab make sure you have the required VC++ redistributable package version installed, these contain the msvcp* DLLs. The file you mention msvcp110.dll should be contained in the VC++ 2012 Redist package.Faceoff
Great, On Windows 10, Jeremy Warne answer does not work but this works. Thank!Hotze
This is the fixed for my issue. The issue happened to me after I install another xampp package with PHP7. Thanks!Selfness
In my case, it was extension=intl.Kibbutz
This should be marked as answer!! Just uncommenting does not work. (in my case I have using MAMP)Fireproofing
N
15

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.

Naga answered 25/10, 2011 at 6:14 Comment(1)
I thought this was my issue, but it turns out I had a typo in my PATH variables! Make sure your path is definitely correct and you might not need to copy into apache/binStrath
W
9

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

Wileywilfong answered 3/5, 2011 at 11:6 Comment(0)
A
8

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

extension=intl
Ahriman answered 29/4, 2019 at 7:34 Comment(1)
This uncomment method works for most php extensions for windows but not for intl. For intl to work, you also have to copy all icu*.dll from php folder to apache\bin folder.Loyal
P
4

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

Protoplasm answered 6/10, 2018 at 9:4 Comment(0)
F
3

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:

Faulting application name: httpd.exe, version: 2.2.14.0, time stamp: 0x4ac181d6
Faulting module name: php5ts.dll, version: 5.3.1.0, time stamp: 0x4b051b35
Exception code: 0xc0000005

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.

Fog answered 6/2, 2010 at 16:21 Comment(0)
E
3

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

Edit php.ini:

Make

;extension=php_intl.dll to

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 :-)

Equivalent answered 7/2, 2014 at 11:34 Comment(0)
M
3

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

Messene answered 25/4, 2014 at 18:35 Comment(0)
B
3

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:

C:\wamp\bin\php\php5.5.12\icu**51.dll

(total 8 files)

to

C:\wamp\bin\apache\apache2.4.9\bin

Then just restart the wamp and everything was just fine.

Broderickbrodeur answered 26/11, 2015 at 11:6 Comment(1)
xampp only 6 fileEstellestella
C
2

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

Courtesy answered 6/5, 2015 at 14:6 Comment(2)
How does this answer the question?Craps
I assumed he's looking for php_intl.dll because he has problems enabling intl extension in PHP, at least that was my case. If not, then I'm sorry. My badCourtesy
D
2

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:

;extension=php_intl.dll
;extension=php_ldap.dll
;extension=php_curl.dll

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.

LoadFile  "C:/php/icudt51.dll"
LoadFile  "C:/php/icuin51.dll"
LoadFile  "C:/php/icuio51.dll"
LoadFile  "C:/php/icule51.dll"
LoadFile  "C:/php/iculx51.dll"
LoadFile  "C:/php/icutest51.dll"
LoadFile  "C:/php/icutu51.dll"
LoadFile  "C:/php/icuuc51.dll"

LoadFile  "C:/php/libeay32.dll"
LoadFile  "C:/php/libssh2.dll"
LoadFile  "C:/php/ssleay32.dll"

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

Dunlavy answered 20/5, 2016 at 8:5 Comment(0)
B
1

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.

Bridges answered 18/9, 2013 at 15:51 Comment(0)
S
1

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

Shadow answered 16/5, 2018 at 20:9 Comment(0)
A
0

/Digger here/

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 )

Ahouh answered 23/12, 2014 at 6:46 Comment(0)
H
0

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

remove ; in

;extension=php_intl.dll

Then restart the apache.

Hasseman answered 2/4, 2016 at 8:2 Comment(0)
E
0
  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
Entrenchment answered 10/6, 2016 at 16:10 Comment(0)
R
0

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:

extension_dir = "ext"
extension=php_intl.dll

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

Raker answered 19/9, 2017 at 17:21 Comment(0)
P
0

You have to modify the php.ini file by removing the semi-colon on the line containing extension=php_intl.dll

After this, go to the php folder of Xamp or Wamp or EasyPHP, copy every dll file containing icu*, Paste them inside your windows file.

That worked for me. Configuration : EasyPHP Dev Server, Windows 10.

Phonics answered 22/12, 2020 at 14:48 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.