我如何启用PHP扩展intl?

问题描述 投票:54回答:19

我将在我的本地服务器上安装Magento2,它会给我以下错误通知。

error at PHP extension intl

我正在使用XAMPP。当我尝试从php.ini文件启用它时,它会丢失dll的另一个错误:

程序无法启动,因为您的计算机缺少MSVCP110.dll。尝试重新安装该程序以解决此问题。

Missing MSVCP110.dll

有帮助吗?

xampp magento2 php-5.6
19个回答
68
投票

首先停止xampp / wamp,然后从你的xampp / php / php.ini中删除起始分号(;)以下代码。

;extension=php_intl.dll

然后重新启动你的xampp / wamp。


2
投票

使用phpinfo()函数查找php.ini文件路径,打开php.ini文件。在这里搜索extension=php_intl.dll然后删除该行的开头的分号(;)。

删除分号(;)后重新启动webserver(apache)。


1
投票

我和ldap,intl,curl php扩展有同样的问题。我通过以下方式解决了这些问题:

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

;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目录]。另外,要启用intl扩展,你需要一些其他的dll文件才能正确加载。这些文件的名称以icu开头(即icudt57.dll icuin57.dll等适用于php 5.6版)。您还可以在php主安装目录中找到这些文件。

您可以通过另一种方法从httpd.conf(apache配置文件)文件加载这些文件,而不是将它们复制到apache的bin目录中。这可以通过使用以下技术来完成:

请注意我的php版本是5.5。

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.

1
投票

以下是安装magento2的所有命令行

PHP扩展xsl和intl。 CMD

sudo apt-get install php5-intl
sudo apt-get install php5-xsl
sudo php5enmod xsl
sudo service apache2 restart

PHP扩展mcrypt。 CMD

sudo updatedb 
locate mcrypt.ini
sudo php5enmod mcrypt
sudo service apache2 restart

1
投票

只需复制所有icu ****。dll文件

C:\ XAMPP \ PHP

C:\ XAMPP的\ apache的\ BIN

[要么]

C:\ WAMP \ BIN \ PHP \ php5.5.12

C:\ WAMP \ BIN \ apache的\ apache2.4.9

intl扩展将开始工作!


1
投票

要启用PHP扩展intl,请按照步骤..

  1. 在任何编辑器中打开xampp / php / php.ini文件。
  2. 搜索“; extension = php_intl.dll”
  3. 请删除起始分号(;) 喜欢 : ;延长= php_intl.dll 至 延长= php_intl.dll
  4. 保存xampp / php / php.ini文件。
  5. 重新启动你的xampp / wamp

希望它的工作......欢呼..


1
投票
  1. 转到C:\ xampp \ php
  2. 在文本编辑器上打开文件“php.ini-development”。
  3. 然后通过删除分号取消注释; extension = php_intl.dll

0
投票

我有这个问题,但解决了!现在启用extension = php_intl.dll如果你重新启动XAMPP这个错误会弹出“你的电脑中缺少msvcp110.dll”

解决此错误:从https://www.dll-files.com/msvcp110.dll.html下载此文件然后将此文件放到C:windows然后重新启动xampp它将工作。


0
投票

你可以在这里找到答案:http://www.dorusomcutean.com/how-to-install-php-7-2-on-windows/

在那篇博文中,我将展示如何在Windows上安装PHP以及如何启用扩展。希望它可以帮助任何再次遇到这个问题的人。


-1
投票

要在本地主机上安装magento,您需要取消注释php.ini中的extension = php_intl.dll并从php复制所有icudt57.dll,icuin57.dll,icuio57.dll,icule57.dll,iculx57.dll,icuuc57.dll文件文件夹到XAMPP \ apache \ bin文件夹。

然后重新启动xampp服务器


-2
投票

下载文件并尝试安装它们。一个或两个文件可能无法安装。

http://www.microsoft.com/en-sg/download/details.aspx?id=30679


12
投票

我也有同样的问题,刚才我解决了。请尝试以下步骤来解决它:

  • 打开php.ini并从;extension=php_intl.dll中删除分号(;)
  • 当您尝试重新启动apache时,它会遇到一些错误,这可能是因为某些.dll文件。只需复制所有icu ****。dll文件

Xampp文件夹/ p​​hp

Xampp文件夹/ apache / bin

  • 我仍然得到msvcp110.dll文件丢失错误。我从Here下载了这个丢失的文件并将其放在所需的位置

对于Windows 7 32位,它是 - C:\ Windows \ System32

  • 现在启动Apache,它运行正常。

9
投票

如果您使用的是ubuntu,则可以进行更新

sudo apt-get update

并在php 5.6的情况下安装扩展

sudo apt-get install php5.6-intl

并在PHP 7.0的情况下

sudo apt-get install php7.0-intl

然后重启你的apache

sudo service apache2 restart

如果您正在使用xampp,请从xampp / php / php.ini中删除下面的分号(;)

 ;extension=php_intl.dll

然后重新启动你的xampp。


7
投票

我看过屏幕拍摄,你遇到的问题是缺少msvcp110.dll,你可以从这个文件下载

https://www.dll-files.com/msvcp110.dll.html

并上传到C:/ Windows文件夹

比从XAMPP编辑php.ini之后

更改

;extension=php_intl.dll

extension=php_intl.dll

保存文件并从XAMPP重新启动Apache


5
投票

对于您需要的Magento安装

  1. 停止Apache服务
  2. 取消注释php.ini文件中的extension = php_intl.dll。
  3. 复制所有6个文件icudt57.dll,icuin57.dll,icuio57.dll,icule57.dll,iculx57.dll,icuuc57.dll从php文件夹到apache \ bin现在重启你的apache服务

5
投票

您需要做的就是转到xampp文件夹中的php.ini(xampp \ php \ php.ini)并删除; from; extension = php_intl.dll

;延长= php_intl.dll

延长= php_intl.dll


5
投票

如果有人为PrestaShop遇到这个问题,我写了这篇文章,我不知道它是否适用于Magento2。我通过以下方式解决了为PrestaShop安装启用PHP扩展intl的问题:

  1. 打开XAMPP控制面板。
  2. 如果Apache服务器已启动,请将其停止。
  3. 然后从Config按钮单击PHP(php.ini)项。

enter image description here

  1. Php.ini将在记事本(或默认文本编辑器)中打开,单击Ctrl + F并搜索; extension = intl并删除分号。

enter image description here

  1. 然后保存并关闭记事本并重新启动Apache服务器。

这些步骤解决了这个问题。

注(2):我使用的是XAMPP v3.2.3和PrestaShop v1.7.5.1

enter image description here


4
投票

附加说明(因为这是一个非常古老的问题,尚未接受答案)

我在Windows 10-64位上使用xampp-win32-7.2.3-0-VC15-installer

这是我在php.ini文件中看到的注释。

注意:以前的PHP版本中使用的语法('extension = .so'和;'extension ='php_.dll')由于遗留原因而受支持,可能是;在将来的PHP主要版本中弃用。所以,如果有可能,请;转到新的('extension =)语法。

因此,您只能找到intl而不是php_intl.dll的扩展名,然后取消注释该行应该有效(它至少对我有用)。

延长=国际


3
投票

在将Magento安装到localhost期间,我发现了两个错误。 有PHP扩展xsl和intl,我通过以下步骤解决了这个问题。

  1. 打开php.ini
  2. 从行extension = php_xsl.dll和extension = php_intl.dll中删除'#'cha。
  3. 保存文件并再次重新启动xamp
  4. 单击Magento安装页面上的再试一次。

然后所有的事情都传递了以及下面的图片。

© www.soinside.com 2019 - 2024. All rights reserved.