如何启用 PHP 扩展的 intl?

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

error at PHP extension intl

我正在使用 XAMPP。当我试图从 php.ini 文件启用它时,它抛出了另一个缺少 dll 的错误:

由于计算机中缺少 MSVCP110.dll,程序无法启动。请重新安装程序以修复此问题。

Missing MSVCP110.dll

有人帮忙吗?

490763 次浏览

First of all stop the xampp/wamp and then kindly remove the starting semicolon ( ; ) from your xampp/php/php.ini the following code.

;extension=php_intl.dll

And then restart your xampp/wamp.

Download the files and try to install them. One or two files may fail to install.

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

I was also having the same issue, and just now i got it solved. Please try the bellow steps to get it solved:

  • Open php.ini and remove semicolon (;) from ;extension=php_intl.dll
  • When you try to restart the apache it will through some errors, that might be because of some .dll files. Simply copy all the icu****.dll files

From

Xampp folder/php

To

Xampp folder/apache/bin

  • Still i was getting msvcp110.dll file missing error. I have downloaded this missing file from Here and put that in desired location

For windows 7 32 bit it is - C:\Windows\System32

  • Now Start Apache and it is working fine.

I was having same kind of problem with ldap, intl, curl php extensions. I've solved those issues by the following ways:

At first you've to check whether these extensions have been enabled in the php.ini file by removing semicolon (;) in front of the following lines:

;extension=php_intl.dll
;extension=php_ldap.dll
;extension=php_curl.dll

Secondly, libeay32.dll, ibssh2.dll and ssleay32.dll files have to be loaded by php properly to function those extensions properly. These dll files are required by several php extensions (ie curl, ldap, intl etc). These files generally reside in the php installation directory [for my case it is C:\php directory]. Additionally, for intl extension to be enabled you're gonna need some other dll files to be loaded by php properly. The name of these files begin with icu (ie icudt57.dll icuin57.dll etc for php version 5.6). You'll also find these files in the php main installation directory.

There is a alternate way you can load these files from your httpd.conf (apache configuratio file) file instead of copying them to the apache's bin directory. This can be done by using the following technique:

Please note that my php version is 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.

Here is all command lines to install magento2

PHP Extension xsl and intl. CMD

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

PHP Extension mcrypt. CMD

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

Use phpinfo() function to find php.ini file path, open php.ini file. Here search extension=php_intl.dll then remove semi-colon (;) beginning of that line.

After removing semi-colon (;) restart you webserver (apache).

I have seen the screen shoot, the issue you are having is missing msvcp110.dll , this file you can download from

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

and upload to C:/Windows folder

than after edit php.ini from XAMPP

Change

;extension=php_intl.dll

to

extension=php_intl.dll

Save the file and restart Apache from XAMPP

i had this prob but solved ! enable the extension=php_intl.dll now if you restart XAMPP this error will popup "msvcp110.dll is missing form your computer"

for solving this error: download this file from : https://www.dll-files.com/msvcp110.dll.html then put this file to C:windows and then restart xampp it will works.

Simply copy all icu****.dll files from

C:\xampp\php

to

C:\xampp\apache\bin

[or]

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

to

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

intl extension will start working!!!

For enable PHP Extension intl , follow the Steps..

  1. Open the xampp/php/php.ini file in any editor.
  2. Search ";extension=php_intl.dll"
  3. kindly remove the starting semicolon ( ; )

    Like :

    ;extension=php_intl.dll

    to

    extension=php_intl.dll

  4. Save the xampp/php/php.ini file.

  5. Restart your xampp/wamp

Hope its work..Cheers..

I have found two errors during the installing of Magento to localhost.
There are PHP Extension xsl and intl and I have solved the issue by following steps.

  1. Open php.ini
  2. Remove '#' cha from the lines extension=php_xsl.dll and extension=php_intl.dll.
  3. Save the file and restart xamp again
  4. Click Try Again on Magento installation page.

Then all the things were passed as well as following picture.

Solving php extension error for php_xsl and php_intl

For instalation of magento on local host you need to uncomment the extension=php_intl.dll in php.ini and copy all icudt57.dll,icuin57.dll,icuio57.dll,icule57.dll,iculx57.dll,icuuc57.dll files from php folder to XAMPP\apache\bin folder.

Then Restart the xamp server

For Megento Installation you Need to

  1. Stop Apache Service
  2. uncomment the extension=php_intl.dll in php.ini file.
  3. copy all 6 files icudt57.dll,icuin57.dll,icuio57.dll,icule57.dll,iculx57.dll,icuuc57.dll From php folder to apache\bin Now Restart you apache service

If you are using ubuntu you can take update

sudo apt-get update

And install extension in case of php 5.6

sudo apt-get install php5.6-intl

And in case of php 7.0

sudo apt-get install php7.0-intl

And in case of php 8.1

sudo apt-get install php8.1-intl

And restart your apache after

sudo service apache2 restart

And restart your nginx after

sudo systemctl restart nginx

If you are using xampp then remove semicolon ( ; ) in xampp/php/php.ini from below line

 ;extension=php_intl.dll

And then restart your xampp.

All you need to do is go to php.ini in your xampp folder (xampp\php\php.ini) and remove ; from ;extension=php_intl.dll

;extension=php_intl.dll

TO

extension=php_intl.dll

ADDITIONAL NOTE (As this is very old question and has no accepted answer yet)

I am on xampp-win32-7.2.3-0-VC15-installer on Windows10-64bit.

here is the notes I see in my php.ini file.

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.

So you will only find the extension name as intl instead of php_intl.dll and then uncommenting that line should work (It worked for me atleast).

extension=intl

You can find the answer here: http://www.dorusomcutean.com/how-to-install-php-7-2-on-windows/

In that blog post, I'm showing how to install PHP on Windows and how to enable extensions. Hope that it helps anyone who encounters this problem again.

  1. Go to C:\xampp\php
  2. open the file "php.ini-development" on a text editor.
  3. Then uncomment ;extension=php_intl.dll by removing the semicolon

I wrote this post if anyone come across this question for PrestaShop, I don't know if it will work for Magento2. I solved enabling PHP extension intl for the PrestaShop installation by:

  1. Open XAMPP Control Pane.
  2. Stop the Apache server if it was started.
  3. Then from Config button click on PHP (php.ini) item.

enter image description here

  1. Php.ini will open in Notepad (or a default text editor), click Ctrl + F and search for ;extension=intl and remove the semicolon.

enter image description here

  1. Then save and close Notepad and re-start the Apache server.

These steps for me solved the issue.

Note (2): I'm using XAMPP v3.2.3 and PrestaShop v1.7.5.1

enter image description here

On My windows I just opened Xampp control panel then on Apache Module same line I clicked on Config then it shows all reconfigured files then choose

PHP (php.ini)

the file will be opened in text editor like notepad then search for extension you want then change

;extension=php_intl.dll

to

extension=php_intl.dll

That's all hope it will work

After installing Laminas, I got the same error message

"Translator component requires the intl PHP extension"

while wanting to view the web application with the php web server:

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

As I'm usgin XAMPP, in

c:\xampp\php\php.ini

I had to enable the PHP extension intl in this line ;extension=php_intl.dll, remove the starting semicolon (;) and restart XAMPP. I hope this will help.

If the below line is not available or commented in C:\xampp\php\php.ini, then add it or uncomment and restart the apache server then it works.

extension=php_intl.dll

Starting with PHP 7.2.0, you only need to specify the extension name.

I.e., add the following line to your php.ini:

extension=intl

See PHP's docomentation on loading extensions for more informations.

First of all, you need to stop your server and go to this path xampp/php/php.ini and find this ;extension=php_intl.dll and then you need to remove the semicolon ( ; ) from the following code and save the file.

And then restart your server.

Enable the intl extension in the php.ini file.

Under Apache, click config.

Click php.ini.

ctrl + f to search intl to find the extension.

Remove the semi-colon to enable the extension. (This is something that wasn't self explanatory to me at first).

Save the file. Restart your apache server in xampp. The error should now be resolved.