intl 扩展:安装 php_intl.dll
我正在尝试找到 php_intl.dll 并安装它。
有人有什么建议吗?
I'm trying to locate php_intl.dll
and install it.
Does anyone have any tips?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(20)
为了使
php_intl.dll
扩展正常工作,您的PATH
中的文件夹中需要有以下文件:icudt36.dll
icuin36.dll
icuio36.dll
icule36.dll
iculx36.dll
icutu36.dll
icuuc36.dll
默认情况下,它们位于您的 PHP 目录中,但该目录不一定位于您的
PATH
中(它不适合我,使用 xampp)这必须位于您的全局路径中,而不仅仅是您的用户路径中。要设置全局路径,请转到系统信息(windows 键 + PAUSE),然后转到高级系统设置 (Vista+) 或高级 (XP),然后单击“环境变量”按钮并将适当的目录添加到系统变量列表中的
PATH
变量。For the
php_intl.dll
extension to work correctly, you need to have the following files in a folder in yourPATH
: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.http://windows.php.net/download/ 上的软件包均包含
php \_intl.dll
位于子目录ext/
中。您所要做的就是检查您的 extension_dir 指向正确的目录并添加(或取消注释)
extension=php\_intl.dll
指令。The packages at http://windows.php.net/download/ all contain the
php\_intl.dll
which is located in the subdirext/
.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.我安装了 XAMPP 1.8.3-0 和 PHP 5.5.0。
1)编辑php.ini:
从
到
注意:修改后,需要保存文件(php.ini)并需要重新启动Apache Server。
2) 只需复制所有 icu* * * *.dll 文件
:
到
然后 intl 扩展就可以工作了!!!
I have XAMPP 1.8.3-0 and PHP 5.5.0 installed.
1) edit php.ini:
from
to
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
to
Then intl extension works!!!
遇到了同样的问题...我通过在驱动器中搜索 icu**.dll 找到了所需的文件,并找到了上面列出的文件,但在 php 文件夹中具有 46 而不是 36。我将它们复制粘贴到 apache/bin 文件中并尝试启动 apache,它终于启动了。在“服务器检查”页面上,它现已从黄色检查更改为绿色确定。希望这有帮助。
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.
如果您看到错误消息,则表明缺少“icuuc36.dll”。
问题是您的 PATH 中没有 PHP 目录,或者您可以将所有“intl”文件从 php 目录复制到 apache\bin 目录。
他们是:
icudt36.dll
icuin36.dll
icuio36.dll
icule36.dll
iculx36.dll
icutu36.dll
icuuc36.dll
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
该软件包已包含在 PHP 7.2 及更高版本的扩展中,您只需取消注释 php.ini 中的以下行即可
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
您可以在终端中输入以下命令:
sudo apt-get install php-intl
You can type this command in terminal:
sudo apt-get install php-intl
当我遇到这个问题时,它是通过使用下面提到的步骤来解决的:
编辑 php.ini:
Make
;extension=php_intl.dll
扩展
名=php_intl.dll
只需将所有 icu* * * *.dll 文件(任何带有 dll 扩展名的 icu 文件)从
C:\xampp\php 复制到 C:\xampp\apache\bin
另外,如果您遇到 msvcp110.dll 丢失文件错误。您必须下载正确的 .dll 或直接转到此处 http:// /www.microsoft.com/es-es/download/confirmation.aspx?id=30679 并安装 vcredist_x64.exe 和 vcredist_x86.exe。
现在 intl 扩展应该可以工作了:-)
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 :-)
我通过将 PHP 目录添加到 PATH 变量解决了这个问题。
我刚刚将
;C:\xampp\php
附加到 Windows 环境变量中的Path
变量。I resolved this issue by adding PHP directory to PATH variable.
I just appended
;C:\xampp\php
toPath
variable in Windows Environment Variables.对于WampServer 2.5(Apache 2.4.9和PHP 5.5.12):
在默认中我有< code>php_intl 启用(您可以在
左键单击系统托盘中的 wamp 图标 > PHP > PHP 扩展
并检查是否已启用它它标记)为了让它正常工作,我必须复制:
(共8个文件)
到
然后重启wamp就一切正常了。
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 youleft 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:
(total 8 files)
to
Then just restart the wamp and everything was just fine.
我有 PHP 5.3.1 和 Apache
当我将
extension=php_intl.dll
添加到 php.ini 并重新启动 apache 时,会出现一条警报,显示“请求的操作已失败”并且事件上出现此错误监视器:
问题是缺少一些像 icudt36.dll 这样的 DLL(通过 sysinternals ProcMon 注意到),我已经下载了 php 5.3.1 zip 版本并将所有 DLL 提取到 PHP 文件夹。这解决了问题。
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.
我有 IIS 7 并在 Windows 7 上使用 Microsoft Web Platform Installer 安装了 PHP。在 IIS 中,转到设置主页中的 PHP Manager -> PHP Manager。 PHP 扩展 ->启用或禁用扩展。
默认情况下禁用 Intl 扩展。
我希望这有帮助
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
有一种更好的方法可以做到这一点。
我在 ldap、intl、curl php 扩展方面遇到了同样的问题。我通过以下方式解决了这些问题:
首先,您必须通过删除以下行前面的分号(;)来检查 php.ini 文件中是否启用了这些扩展:
现在您可以直接加载那些必要的扩展httpd.conf(apache 配置文件)文件中的 dll 文件(即 libeay32、libssh2、ssleay32、icu**.dll )。您不必执行任何其他操作,例如将它们复制到 apache 的 bin 目录或 php 的 ext 目录。只需将它们直接添加到 apache 的 httpd.conf 文件中即可。
请注意,以下示例适用于 php 版本 5.5.x。
就是这样。现在,重新启动您的 apache 或 wamp 就可以了。
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.
如果出现 msvcp110.dll 丢失文件错误。您必须下载正确的 .dll 或直接转到此处 http:// /www.microsoft.com/es-es/download/confirmation.aspx?id=30679 并安装 vcredist_x64.exe 和 vcredist_x86.exe,它对我有用。
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.
就我而言,将 PHP 目录添加到用户环境中的 PATH 不起作用。经过一些测试,我发现它应该添加到系统路径中(我不知道系统设置窗口的这一部分的名称是什么,因为我有波兰语Windows)。
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).
/Digger here/
将
icu*****.dll
文件移动到/ext/
似乎也解决了该问题。(当然,如果您指定了扩展目录)
/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 )
在我的xampp控制面板中,单击config打开php.ini
删除;在
然后重新启动apache。
In my xampp control panel, Click config to open php.ini
remove ; in
Then restart the apache.
一切顺利
All the best
我在 Windows 10 上使用 PHP 7.1.7 和 PhpStorm 运行 intl 时遇到问题。根据此处的其他答案,我可以看出这是 PATH/DLL 依赖性问题,但即使在之后我似乎也无法找到所有必需的文件(重新)安装 Visual C++ Redistributable。
我最终在 C: 驱动器中搜索 vcr*.dll,并在我的
C:\Program Files\Mozilla Firefox
目录中找到了 vcruntime140.dll 的副本。因此,除了对 php.ini 进行这些更改之外:我还将运行时路径设置为仅 PHP 目录(在我的例子中为 C:\Program Files\PHP\7.1.7)和Firefox 目录(上图)终于成功了!我知道它需要的不仅仅是 vcruntime140.dll,但其他所需的 DLL 也必须位于 FF 目录中(有几十个,但我没有费心去弄清楚哪些是必需的)。
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).您必须修改 php.ini 文件,删除包含以下内容的行上的分号
Extension=php_intl.dll
之后,进入 Xamp 或 Wamp 或 EasyPHP 的 php 文件夹,复制包含以下内容的每个 dll 文件
重症监护病房*,
将它们粘贴到您的 Windows 文件中。
这对我有用。
配置:EasyPHP 开发服务器、Windows 10。
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.