【发布时间】:2010-11-29 21:41:35
【问题描述】:
我正在尝试找到 php_intl.dll 并安装它。
有人有什么建议吗?
【问题讨论】:
标签: php windows-xp intl
我正在尝试找到 php_intl.dll 并安装它。
有人有什么建议吗?
【问题讨论】:
标签: php windows-xp intl
要使php_intl.dll 扩展正常工作,您需要在PATH 的文件夹中包含以下文件:
icudt36.dllicuin36.dllicuio36.dllicule36.dlliculx36.dllicutu36.dllicuuc36.dll默认情况下,它们位于您的 PHP 目录中,但该目录不一定在您的 PATH 中(它不适合我,使用 xampp)
这必须在您的全局路径中,而不仅仅是您的用户路径。要设置全局路径,请转到系统信息(windows key + PAUSE),然后转到高级系统设置(Vista+)或高级(XP),然后单击“环境变量”按钮并将适当的目录添加到系统变量列表中的PATH 变量。
【讨论】:
http://windows.php.net/download/ 的包都包含位于子目录ext/ 中的php\_intl.dll。
您所要做的就是检查您的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
然后国际扩展工作!!!
【讨论】:
msvcp* DLL。您提到的文件msvcp110.dll 应该包含在 VC++ 2012 Redist 包中。
extension=intl。
有同样的问题...我通过在我的驱动器中搜索 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
【讨论】:
对于 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 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 文件夹。这样就解决了问题。
【讨论】:
该包已包含在 PHP 7.2 及更高版本的扩展中,您只需取消注释 php.ini
中的以下行extension=intl
【讨论】:
当我遇到这个问题时,它是通过使用以下提到的步骤解决的:
编辑 php.ini:
制作
;extension=php_intl.dll 到
extension=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 扩展应该可以工作了 :-)
【讨论】:
我通过将 PHP 目录添加到 PATH 变量解决了这个问题。
我只是在 Windows 环境变量中将 ;C:\xampp\php 附加到 Path 变量。
【讨论】:
我有 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,它对我有用。
【讨论】:
有更好的方法。
我在使用 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,您就可以开始了。
【讨论】:
在我的情况下,在用户环境中将 PHP 目录添加到 PATH 不起作用。经过一些测试,我发现它应该被添加到系统路径中(我不知道系统设置窗口这部分的名称是什么,因为我有波兰语窗口)。
【讨论】:
/在这里挖掘/
将icu*****.dll 文件移动到/ext/ 似乎也可以解决问题。
(当然如果你指定了扩展目录)
【讨论】:
在我的xampp控制面板中,点击config打开php.ini
删除;在
;extension=php_intl.dll
然后重启apache。
【讨论】:
【讨论】:
我无法让 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 目录中(有几十个,但我没有费心去弄清楚哪些是必不可少的)。
【讨论】:
您必须通过删除包含行上的分号来修改 php.ini 文件 扩展=php_intl.dll
之后,进入Xamp或Wamp或EasyPHP的php文件夹,复制每个包含的dll文件 重症监护室*, 将它们粘贴到您的 windows 文件中。
这对我有用。 配置:EasyPHP 开发服务器,Windows 10。
【讨论】: