问题
I'm trying to locate php_intl.dll
and install it.
Does anyone have any tips?
回答1:
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.
回答2:
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.
回答3:
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!!!
回答4:
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.
回答5:
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
回答6:
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.
回答7:
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.
回答8:
I resolved this issue by adding PHP directory to PATH variable.
I just appended ;C:\xampp\php
to Path
variable in Windows Environment Variables.
回答9:
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
回答10:
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.
回答11:
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 :-)
回答12:
/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 )
回答13:
In my xampp control panel, Click config to open php.ini
remove ; in
;extension=php_intl.dll
Then restart the apache.
回答14:
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.
回答15:
- Under php extensions in your wampserver, ensure intl is checked
- check your extension_dir in your php/v7.0/php file ensure the directory is not commented and it is accurate
- (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
回答16:
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).
回答17:
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).
回答18:
You can type this command in terminal: sudo apt-get install php-intl
回答19:
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
来源:https://stackoverflow.com/questions/1451468/intl-extension-installing-php-intl-dll