how can i enable PHP Extension intl?
我要在本地服务器上安装Magento2,它会显示以下错误通知。
我正在使用XAMPP。 当我尝试从php.ini文件启用它时,由于缺少dll而引发了另一个错误:
The program can't start because MSVCP110.dll is missing from your computer. Try reinstalling the program to fix this problem.
有什么帮助吗?
首先,停止xampp / wamp,然后通过以下代码从xampp / php / php.ini中删除开始的分号(;)。
1 | ;extension=php_intl.dll |
然后重新启动xampp / wamp。
我写这篇文章,如果有人遇到有关PrestaShop的问题,我不知道它是否适用于Magento2。我通过以下方法解决了为PrestaShop安装启用PHP扩展intl的问题:
这些步骤对我来说解决了这个问题。
笔记2):
我正在使用XAMPP v3.2.3和PrestaShop v1.7.5.1
我也遇到了同样的问题,而现在我解决了。
请尝试以下步骤以解决该问题:
-
打开php.ini并从
;extension=php_intl.dll 除去分号(;) - 当您尝试重新启动apache时,它将遇到一些错误,这可能是由于某些.dll文件引起的。只需复制所有icu ****。dll文件
从
Xampp folder/php
至
Xampp folder/apache/bin
- 仍然我正在得到msvcp110.dll文件丢失错误。我已从此处下载此丢失的文件,并将其放在所需的位置
For windows 7 32 bit it is - C:\Windows\System32
- 现在启动Apache,它运行正常。
如果您正在使用ubuntu,则可以进行更新
1 | sudo apt-get update |
并在php 5.6的情况下安装扩展名
1 | sudo apt-get install php5.6-intl |
并且在php 7.0的情况下
1 | sudo apt-get install php7.0-intl |
然后重新启动您的Apache
1 | sudo service apache2 restart |
如果您使用的是xampp,请从下面的行中删除xampp / php / php.ini中的分号(;)
1 | ;extension=php_intl.dll |
然后重新启动您的xampp。
我看过屏幕截图,您遇到的问题缺少msvcp110.dll,您可以从该文件下载
https://www.dll-files.com/msvcp110.dll.html
并上传到C:/ Windows文件夹
比从XAMPP编辑php.ini之后
更改
1 | ;extension=php_intl.dll |
至
1 | extension=php_intl.dll |
保存文件并从XAMPP重新启动Apache
您所需要做的就是转到xampp文件夹(xampp php php.ini)中的php.ini并删除;来自; extension = php_intl.dll
;extension=php_intl.dll
至
extension=php_intl.dll
对于Megento安装,您需要
现在重新启动您的Apache服务
附加说明(因为这是一个非常老的问题,尚无公认的答案)
我在Windows10-64bit的xampp-win32-7.2.3-0-VC15-installer上。
这是我在php.ini文件中看到的注释。
Note : The syntax used in previous PHP versions ('extension=.so' and
; 'extension='php_.dll') is supported for legacy reasons and may be
; deprecated in a future PHP major version. So, when it is possible, please
; move to the new ('extension=) syntax.
因此,您只会找到扩展名
extension=intl
在将Magento安装到本地主机期间,我发现了两个错误。
有PHP扩展名xsl和intl,我已按照以下步骤解决了该问题。
然后所有的事情都通过了,如下图。
使用
打开php.ini文件。在这里搜索
删除分号(
我在ldap,intl,curl php扩展中遇到了同样的问题。我已经通过以下方式解决了这些问题:
首先,您需要通过删除以下各行前面的分号(;)来检查php.ini文件中是否已启用这些扩展名:
1 2 3 | ;extension=php_intl.dll ;extension=php_ldap.dll ;extension=php_curl.dll |
其次,必须通过php正确加载libeay32.dll,ibssh2.dll和ssleay32.dll文件,以正确运行这些扩展名。这些dll文件是几个php扩展名所必需的(即curl,ldap,intl等)。这些文件通常位于php安装目录中(在我的情况下为C: php目录)。
另外,要启用国际扩展,您将需要一些其他dll文件才能由php正确加载。这些文件的名称以icu开头(即php版本5.6的icudt57.dll icuin57.dll等)。您还将在php主安装目录中找到这些文件。
您可以通过另一种方法从httpd.conf(apache配置文件)文件中加载这些文件,而不是将它们复制到apache的bin目录中。这可以通过使用以下技术来完成:
请注意,我的PHP版本是5.5。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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" That's it. |
要启用PHP Extension intl,请按照以下步骤操作。
请删除起始分号(;)
喜欢 :
; extension = php_intl.dll
至
扩展名= php_intl.dll
保存xampp / php / php.ini文件。
希望它的工作..欢呼..
只需从中复制所有icu ****。dll文件
C: xampp php
至
C: xampp apache bin
[要么]
C: wamp bin php php5.5.12
至
C: wamp bin apache apache2.4.9
国际扩展将开始工作!!!
这是安装magento2的所有命令行
PHP扩展xsl和intl。 CMD
1 2 3 4 | sudo apt-get install php5-intl sudo apt-get install php5-xsl sudo php5enmod xsl sudo service apache2 restart |
PHP扩展mcrypt。 CMD
1 2 3 4 | sudo updatedb locate mcrypt.ini sudo php5enmod mcrypt sudo service apache2 restart |
我有这个问题,但解决了!
启用扩展名= php_intl.dll
现在,如果您重新启动XAMPP,此错误将弹出" msvcp110.dll从您的计算机丢失"
解决此错误的方法:从以下位置下载此文件:https://www.dll-files.com/msvcp110.dll.html
然后将此文件放入C:windows,然后重新启动xampp,它将起作用。
您可以在这里找到答案:http://www.dorusomcutean.com/how-to-install-php-7-2-on-windows/
在该博客文章中,我将展示如何在Windows上安装PHP以及如何启用扩展。希望它对再次遇到此问题的人有所帮助。
要在本地主机上安装magento,您需要取消注释php.ini中的extension = php_intl.dll并从php复制所有icudt57.dll,icuin57.dll,icuio57.dll,icule57.dll,iculx57.dll,icuuc57.dll文件文件夹到XAMPP apache bin文件夹。
然后重新启动xamp服务器
下载文件并尝试安装它们。一个或两个文件可能无法安装。
http://www.microsoft.com/zh-cn/download/details.aspx?id=30679