如何启用PHP Extension intl?


77

我要在本地服务器上安装Magento2,它会显示以下错误通知。

PHP扩展国际错误

我正在使用XAMPP。当我尝试从php.ini文件启用它时,由于缺少dll而引发了另一个错误:

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

缺少MSVCP110.dll

有什么帮助吗?


您是否已启用php和apache php.ini?
Suresh Chikani 2015年

将C:\ xampp \ php添加到PATH,然后重试!
mono68


2
对于PHP-7:extension = intl
wrivas

Answers:


97

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

;extension=php_intl.dll

然后重新启动xampp / wamp。


1
请检查此答案。已使用xampp-win32-5.6.19-0-VC11-installer测试。谢谢拉罕。

1
@ vaghani janak请先停止您的xampp / wamp,然后更改定向文件并重新启动您的xampp / wamp。
拉罕

亲爱的@Savan Dholu请让我知道什么paltform你正在使用...平均操作系统...
拉含

@Raham感谢您的答复,我正在使用Windows 7 64bit
Savan Dholu

亲爱的@Savan Dholu,请停止所有服务。以管理员身份在php.ini中进行更改,然后重新启动xampp。很抱歉,您的回复很晚。
拉罕

45

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

  1. 打开XAMPP控制窗格。
  2. 如果已启动,请停止Apache服务器。
  3. 然后从“配置”按钮单击PHP(php.ini)项目。

在此处输入图片说明

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

在此处输入图片说明

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

这些步骤对我来说解决了这个问题。

注意(2): 我正在使用XAMPP v3.2.3和PrestaShop v1.7.5.1

在此处输入图片说明


16

我也遇到了同样的问题,现在我解决了。请尝试以下步骤以解决该问题:

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

Xampp文件夹/ p​​hp

Xampp文件夹/ apache / bin

  • 仍然我得到msvcp110.dll文件丢失错误。我已从此处下载此丢失的文件,并将其放在所需的位置

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

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

15

如果您正在使用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。


在Linux上工作。
Vignesh Chinnaiyan

9

我看过屏幕快照,您遇到的问题缺少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


8

对于Megento安装,您需要

  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服务

6

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

; extension = php_intl.dll

扩展名= php_intl.dll


5

附加说明(因为这是一个非常老的问题,尚无公认的答案)

我在Windows10-64bit的xampp-win32-7.2.3-0-VC15-installer上。

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

注意:由于先前的原因,支持以前的PHP版本中使用的语法(“ extension = .so”和;“ extension ='php_.dll”),并且可能为; 在以后的PHP主版本中不推荐使用。因此,请尽可能 移至新('extension =)语法。

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

扩展名=国际


4

只需复制以下文件中的所有icu ****。dll文件

C:\ xampp \ php

C:\ xampp \ apache \ bin

[要么]

C:\ wamp \ bin \ php \ php5.5.12

C:\ wamp \ bin \ apache \ apache2.4.9

国际扩展将开始工作!!!


使用yetiforce做出了很好的回应
JAGJ jdfoxito

4

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

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

然后所有的事情都通过了,如下图。

解决php_xsl和php_intl的php扩展错误


3

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

删除分号(;)后,重新启动Web服务器(Apache)。


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

2

我在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目录)。此外,要启用国际扩展,您将需要一些其他dll文件才能由php正确加载。这些文件的名称以icu开头(即php版本5.6的icudt57.dll icuin57.dll等)。您还将在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.

2

要启用PHP Extension intl,请按照以下步骤操作。

  1. 在任何编辑器中打开xampp / php / php.ini文件。
  2. 搜索“; extension = php_intl.dll”
  3. 请删除起始分号(;)

    喜欢 :

    ; extension = php_intl.dll

    扩展名= php_intl.dll

  4. 保存xampp / php / php.ini文件。

  5. 重新启动xampp / wamp

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


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

0

我有这个问题,但解决了!如果您重新启动XAMPP,请立即启用extension = php_intl.dll,此错误将弹出“ msvcp110.dll在您的计算机上丢失”

解决此错误的方法:从以下位置下载此文件:https : //www.dll-files.com/msvcp110.dll.html, 然后将此文件放入C:windows,然后重新启动xampp,它将起作用。



0

在我的窗口上,我刚刚打开了Xampp控制面板,然后在Apache模块的同一行上,我单击了Config,然后显示了所有重新配置的文件,然后选择

PHP (php.ini)

该文件将在文本编辑器(如记事本)中打开,然后搜索所需的扩展名,然后进行更改

;extension=php_intl.dll

extension=php_intl.dll

都希望它能起作用


0

安装Laminas后,我得到了相同的错误消息

“翻译器组件需要国际PHP扩展名”

想要使用php Web服务器查看Web应用程序时:

php -S 0.0.0.0:8080 -t public public / index.php

当我使用XAMPP时,

c:\ xampp \ php \ php.ini

我必须在此行中启用PHP扩展intl ;extension=php_intl.dll,删除开始的分号(;)并重新启动XAMPP。我希望这将有所帮助。


0

如果以下行不可用或在C:\ xampp \ php \ php.ini中未注释,则添加或取消注释并重新启动apache服务器,然后它便可以工作。

扩展名= php_intl.dll



-1

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

然后重新启动xamp服务器


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.