使用Wamp安装intl扩展php_intl.dll

14

我想使用 Moodle,但在安装过程中出现了错误:

应安装并启用 php_extension->intl 来获得最佳结果。

Intl 扩展用于改进国际化支持,例如区域设置感知排序。

当我点击链接时,会出现上述错误消息:http://docs.moodle.org/24/en/admin/environment/php_extension/intl

我已经按照该链接操作,但仍然出现相同的错误。如果有任何建议,请帮忙解决。


可能是重复的问题:intl扩展:安装php_intl.dll - jww
4个回答

58

我几天前遇到了同样的问题。

您需要复制所有文件(所有以icu*开头的文件):

icudt.dll
icudt46.dll
icuin.dll
icuin46.dll
icuio.dll
icuio46.dll
icule.dll
icule46.dll
iculx.dll
iculx46.dll
icutest.dll
icutest46.dll
icutu.dll
icutu46.dll
icuuc.dll
icuuc46.dll

来自:

<wamp_installation_path>/bin/php/php5.4.3/
致:
<wamp_installation_path>/bin/apache/apache2.2.22/bin/

并且您还需要在php.ini文件中启用intl(取消注释此行):

;extension=php_intl.dll

重启服务器,应该可以正常运行。

当然,你需要用你自己的文件夹名称替换这些名称。


嘿Athlan:我在C:\wamp\bin\apache\Apache2.2.21\bin和C:\wamp\bin\php\php5.3.8\ext中搜索,但没有找到这些文件。这些文件夹中没有icu类型的文件。 - Ankur Saxena
1
正如我所提到的,您可以直接在以下路径找到它们: <wamp_installation_path>/bin/php/php5.4.3/(而不是ext子目录)。 我已经为WAMP 2.2为您检查过了。 - Athlan
1
使用Wamp,我只能找到icu*46.dll文件,没有找到未标明版本的文件。有什么想法吗? - Will Marcouiller
请参考此帖子,获取适用于WAMPServer > WAMPServer 2.4版本的正确解决方案。 - RiggsFolly
我昨天开始就一直在尝试让它在Magento上运行。你是上帝。谢谢谢谢谢谢。我使用的是Windows 64位的WAMP,Apache 2.4.9和PHP 5.5.12,这个解决方案对我有效。 - Juan Elfers
显示剩余2条评论

4
最近,较新版本的PHP 5.5发布中,除了更常见的MSVCR110.dll(这两个都是提供通用功能的C/C++运行时DLL),php_intl.dll也会链接(加载)MSVCP110.dll。
在此之前,您只需将MSVCR110.dll文件包含在PATH目录的某个位置,而不必安装完整的VC++ 2012可再发行DLL集,Apache + PHP + php_intl.dll等PHP扩展程序便可全部加载。
如果PHP报错如下所示: “PHP Startup: Unable to load dynamic library C:/wamp/php/ext/php_intl.dll – The specified module could not be found.”
您需要完成以下两件事:
1. 不要将各种icu*.dll文件从PHP文件夹复制到Apache的bin文件夹中,而是将PHP目录包含到系统的PATH变量中。 2. 安装完整的Microsoft VC++ 2012 Runtime可再分发软件包。确保为32位PHP构建获取32位版本。
有关此问题的更多信息,请参见此处

0

将您的icu*文件复制到<wamp_installation_path>/bin/apache/apachexxxxx/bin/目录下。

这对我有用。


这与此现有答案完全相同。 - Pang

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接