我正在尝试找到php_intl.dll
并安装它。
有没有人有任何提示?
为了使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
系统变量列表中的变量中。
http://windows.php.net/download/上的包都包含php\_intl.dll
位于 subdir 中的包ext/
。
您所要做的就是检查您的extension_dir是否指向正确的目录并添加(或取消注释)该extension=php\_intl.dll
指令。
我安装了 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
然后国际扩展工作!!!
有同样的问题......我通过在我的驱动器中搜索 icu* * .dll 找到了所需的文件,并找到了上面列出的文件,但在 php 文件夹中使用 46 而不是 36。我将它们复制粘贴到 apache/bin 文件并尝试启动 apache,它终于启动了。在 Server Checks 页面上,它现在已从 Yellow Check 更改为 Green OK。希望这可以帮助。
如果您阅读错误消息,“icuuc36.dll”丢失。问题是您的 PATH 中没有 PHP 目录,或者您可以将所有“intl”文件从 php 目录复制到 apache\bin 目录。它们是:icudt36.dll icuin36.dll icuio36.dll icule36.dll iculx36.dll icutu36.dll icuuc36.dll
该包已包含在PHP 7.2 及更高版本的扩展中,您只需取消注释php.ini中的以下行
extension=intl
我有 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 文件夹。这解决了问题。
对于WampServer 2.5(Apache 2.4.9和PHP 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,一切都很好。
当我遇到这个问题时,它是通过使用以下提到的步骤来解决的:
编辑 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 扩展应该可以工作了:-)
我通过将 PHP 目录添加到 PATH 变量解决了这个问题。我只是附加;C:\xampp\php
到Path
Windows 环境变量中的变量。
我有 IIS 7 并在 Windows 7 上使用 Microsoft Web 平台安装程序安装了 PHP。在 IIS 中,转到设置主页中的 PHP 管理器 -> PHP 扩展 -> 启用或禁用扩展。默认情况下禁用国际扩展。
我希望这有帮助
您可以在终端中键入此命令:sudo apt-get install php-intl
如果您有 msvcp110.dll 丢失文件错误。你必须下载正确的 .dll 或者只是去这里http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679并安装 vcredist_x64.exe 和 vcredist_x86.exe,它对我有用.
在我的情况下,在用户环境中将 PHP 目录添加到 PATH 不起作用。经过一些测试,我发现它应该被添加到系统路径中(我不知道系统设置窗口这部分的名称是什么,因为我有波兰语窗口)。
有一种更好的方法可以做到这一点。
我在使用 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,您就可以开始了。
/挖掘机在这里/
将icu*****.dll
文件移动到/ext/
似乎也可以解决问题。
(当然,如果您指定了扩展目录)
我无法让 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 目录中(有几十个,但我没有费心去弄清楚哪些是必不可少的)。
您必须通过删除包含 extension=php_intl.dll 的行上的分号来修改 php.ini 文件
在此之后,转到 Xamp 或 Wamp 或 EasyPHP 的 php 文件夹,复制每个包含 icu* 的 dll 文件,将它们粘贴到您的 windows 文件中。
这对我有用。配置:EasyPHP 开发服务器,Windows 10。
在我的 xampp 控制面板中,单击 config 打开 php.ini
消除 ; 在
;扩展=php_intl.dll
然后重启apache。