80

我正在尝试找到php_intl.dll并安装它。

有没有人有任何提示?

4

20 回答 20

98

为了使php_intl.dll扩展程序正常工作,您需要在您的文件夹中包含以下文件PATH

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

默认情况下,它们位于您的 PHP 目录中,但该目录不一定在您的PATH(它不适合我,使用 xampp)

这必须在您的全局路径中,而不仅仅是您的用户路径。要设置全局路径,请转到系统信息 ( windows key + PAUSE),然后转到高级系统设置 (Vista+) 或高级 (XP),然后单击“环境变量”按钮并将适当的目录添加到PATH系统变量列表中的变量中。

于 2011-05-22T09:09:15.637 回答
61

http://windows.php.net/download/上的包都包含php\_intl.dll位于 subdir 中的包ext/
您所要做的就是检查您的extension_dir是否指向正确的目录并添加(或取消注释)该extension=php\_intl.dll指令。

于 2009-09-20T19:17:31.753 回答
61

我安装了 XAMPP 1.8.3-0 和 PHP 5.5.0。

1)编辑php.ini:

;extension=php_intl.dll

extension=php_intl.dll

注意:修改后需要保存文件(php.ini)并重启Apache Server。

2)只需复制所有icu* * * *.dll文件:

C:\xampp\php

C:\xampp\apache\bin

然后国际扩展工作!!!

于 2013-08-04T14:53:41.303 回答
15

有同样的问题......我通过在我的驱动器中搜索 icu* * .dll 找到了所需的文件,并找到了上面列出的文件,但在 php 文件夹中使用 46 而不是 36。我将它们复制粘贴到 apache/bin 文件并尝试启动 apache,它终于启动了。在 Server Checks 页面上,它现在已从 Yellow Check 更改为 Green OK。希望这可以帮助。

于 2011-10-25T06:14:41.817 回答
9

如果您阅读错误消息,“icuuc36.dll”丢失。问题是您的 PATH 中没有 PHP 目录,或者您可以将所有“intl”文件从 php 目录复制到 apache\bin 目录。它们是:icudt36.dll icuin36.dll icuio36.dll icule36.dll iculx36.dll icutu36.dll icuuc36.dll

于 2011-05-03T11:06:33.927 回答
4

该包已包含在PHP 7.2 及更高版本的扩展中,您只需取消注释php.ini中的以下行

extension=intl
于 2019-04-29T07:34:10.070 回答
3

我有 PHP 5.3.1 和 Apache

当我将其添加 extension=php_intl.dll到 php.ini 并重新启动 apache 时,会出现一条警报,提示“请求的操作失败”

而事件监视器上的这个错误:

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

问题是缺少一些像icudt36.dll 这样的DLL(通过sysinternals ProcMon 注意到),我已经下载了php 5.3.1 zip 版本并将所有DLL 解压缩到PHP 文件夹。这解决了问题。

于 2010-02-06T16:21:46.217 回答
3

对于WampServer 2.5Apache 2.4.9PHP 5.5.12):

默认情况下我已经php_intl 启用(你可以在你启用它并left click on the wamp icon in the system tray > PHP > PHP extensions检查它是否被标记)

为了让它正常工作,我不得不复制

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

(共 8 个文件)

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

然后重新启动 wamp,一切都很好。

于 2015-11-26T11:06:42.893 回答
2

当我遇到这个问题时,它是通过使用以下提到的步骤来解决的:

编辑 php.ini:

制作

;extension=php_intl.dll 到

extension=php_intl.dll 只需从

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 扩展应该可以工作了:-)

于 2014-02-07T11:34:38.123 回答
2

我通过将 PHP 目录添加到 PATH 变量解决了这个问题。我只是附加;C:\xampp\phpPathWindows 环境变量中的变量。

于 2014-04-25T18:35:25.827 回答
2

我有 IIS 7 并在 Windows 7 上使用 Microsoft Web 平台安装程序安装了 PHP。在 IIS 中,转到设置主页中的 PHP 管理器 -> PHP 扩展 -> 启用或禁用扩展。默认情况下禁用国际扩展。

我希望这有帮助

于 2015-05-06T14:06:38.583 回答
2

您可以在终端中键入此命令:sudo apt-get install php-intl

于 2018-10-06T09:04:50.543 回答
1

如果您有 msvcp110.dll 丢失文件错误。你必须下载正确的 .dll 或者只是去这里http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679并安装 vcredist_x64.exe 和 vcredist_x86.exe,它对我有用.

于 2013-09-18T15:51:33.373 回答
1

在我的情况下,在用户环境中将 PHP 目录添加到 PATH 不起作用。经过一些测试,我发现它应该被添加到系统路径中(我不知道系统设置窗口这部分的名称是什么,因为我有波兰语窗口)。

于 2018-05-16T20:09:22.453 回答
1

有一种更好的方法可以做到这一点。

我在使用 ldap、intl、curl php 扩展时遇到了同样的问题。我通过以下方式解决了这些问题:

首先,您必须通过删除以下行前面的分号 (;) 来检查这些扩展是否已在 php.ini 文件中启用:

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

现在您可以直接从您的 httpd.conf(apache 配置文件)文件中加载那些必要的 dll 文件(即 libeay32、libssh2、ssleay32、icu**.dll)。您不必做任何其他事情,例如将它们复制到 apache 的 bin 目录或 php 的 ext 目录。只需将它们直接添加到您的 apache 的 httpd.conf 文件中。

请注意,以下示例适用于 php 版本 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"

而已。现在,重新启动您的 apache 或 wamp,您就可以开始了。

于 2016-05-20T08:05:02.510 回答
0

/挖掘机在这里/

icu*****.dll文件移动到/ext/似乎也可以解决问题。

(当然,如果您指定了扩展目录)

于 2014-12-23T06:46:12.310 回答
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
于 2016-06-10T16:10:27.037 回答
0

我无法让 intl 在 Windows 10 上使用 PHP 7.1.7 和 PhpStorm 运行。根据此处的其他答案,我可以说这是一个 PATH/DLL 依赖问题,但即使在之后我似乎也找不到所有必需的文件(重新)安装 Visual C++ Redistributable。

我最终在我的 C: 驱动器中搜索 vcr*.dll 并在我的C:\Program Files\Mozilla Firefox目录中找到了 vcruntime140.dll 的副本。因此,除了对 php.ini 进行这些更改之外:

extension_dir = "ext"
extension=php_intl.dll

我还将我的运行时 PATH 设置为仅 PHP 目录(在我的情况下为C:\Program Files\PHP\7.1.7)和 Firefox 目录(上图),它终于成功了!我知道它需要的不仅仅是 vcruntime140.dll,但其他必需的 DLL 也必须在 FF 目录中(有几十个,但我没有费心去弄清楚哪些是必不可少的)。

于 2017-09-19T17:21:31.973 回答
0

您必须通过删除包含 extension=php_intl.dll 的行上的分号来修改 php.ini 文件

在此之后,转到 Xamp 或 Wamp 或 EasyPHP 的 php 文件夹,复制每个包含 icu* 的 dll 文件,将它们粘贴到您的 windows 文件中。

这对我有用。配置:EasyPHP 开发服务器,Windows 10。

于 2020-12-22T14:48:39.733 回答
0

在我的 xampp 控制面板中,单击 config 打开 php.ini

消除 ; 在

;扩展=php_intl.dll

然后重启apache。

于 2016-04-02T08:02:30.827 回答