我正在尝试找到php_intl.dll
并安装它。
有人有任何提示吗?
http://windows.php.net/download/的包裹都包含位于子区php\_intl.dll
的ext/
。
您所要做的就是检查您的extension_dir是否指向正确的目录并添加(或取消注释)extension=php\_intl.dll
指令。
如果您有msvcp110.dll丢失文件错误。你必须下载正确的.dll或者只是去这里http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679并安装vcredist_x64.exe和vcredist_x86.exe,它对我有用。
当我遇到这个问题时,它通过使用下面提到的步骤进行了整理:
编辑php.ini:
使
; extension = php_intl.dll to
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扩展应该工作:-)
/挖掘机/这里/
将icu*****.dll
文件移动到/ext/
似乎也解决了这个问题。
(如果您指定扩展目录当然在那里)
在我的xampp控制面板中,单击config以打开php.ini
去掉 ;在
;延长= php_intl.dll
然后重启apache。
有一种更好的方法可以做到这一点。
我和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 7.1.7和PhpStorm在Windows 10上运行时遇到了麻烦。根据其他答案我可以告诉它是一个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目录添加到PATH不起作用。经过一些测试后我发现它应该被添加到系统PATH中(我不知道这部分系统设置窗口的名称是什么,'我有波兰语Windows)。
您可以在终端中输入以下命令:sudo apt-get install php-intl
该软件包已经包含在PHP 7.2及更高版本的扩展中,您只需要在php.ini中取消注释以下行
extension=intl
要使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
变量名单。
我安装了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
然后intl扩展工作!
有同样的问题...我通过搜索我的驱动器找到了所需的文件icu **。dll并找到了上面列出的文件但在php文件夹中有46而不是36。我将它们复制粘贴到apache / bin文件并尝试启动apache并最终启动。在“服务器检查”页面上,它现在已从黄色检查更改为绿色确定。希望这可以帮助。
如果您阅读错误消息,则“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目录添加到PATH变量来解决了这个问题。我只是将;C:\xampp\php
附加到Windows环境变量中的Path
变量中。
我在Windows 7上使用Microsoft Web Platform Installer安装了IIS 7并安装了PHP。在IIS中,转到设置主页面中的PHP Manager - > PHP Extensions - >启用或禁用扩展。默认情况下禁用Intl扩展。
我希望这有帮助