php extension intl ubuntu
Установка PHP и модулей на Ubuntu/Debian
Установка PHP 5 как модуля Apache:
Установка PHP 7 как модуля Apache:
Установка PHP 5 как PHP-FPM:
Установка PHP 7 как PHP-FPM
Модули
В Debian и Ubuntu зачастую установка модулей PHP не требует каких-то сложных манипуляций. Для того, чтобы посмотреть, что Вы можете поставить прямо сейчас, нужно сделать:
Давайте для примера установим GD для работы с изображениями:
Либо php-fpm, смотря, что используете Вы:
Чтобы посмотреть список модулей php, который прямо сейчас подключен, можно запустить:
Nginx, Php-Fpm и что это вообще?
Почему timeout для curl в php необходим
Угадайте самый медленный фреймворк. И это не Laravel
Есть распространенное мнение, что Laravel почти самый медленный фреймворк, что даже его название нужно читать медленно и только одним пользователем на 1 ядро CPU. Но к счастью, это не так
Curl в PHP
Вводная статья о том, как использовать сессии в PHP
IoT Highload: особенности и подводные камни
Особенности серверных приложений, работающих с сетью IoT-устройств на практике и в теории
Nginx, Php-Fpm и что это вообще?
Почему timeout для curl в php необходим
Угадайте самый медленный фреймворк. И это не Laravel
Есть распространенное мнение, что Laravel почти самый медленный фреймворк, что даже его название нужно читать медленно и только одним пользователем на 1 ядро CPU. Но к счастью, это не так
Curl в PHP
Вводная статья о том, как использовать сессии в PHP
IoT Highload: особенности и подводные камни
Особенности серверных приложений, работающих с сетью IoT-устройств на практике и в теории
Обновляем расширение Intl в PHP 7 на Linux Ubuntu 16.04
Программисты делятся на два типа: консерваторы, для которых переход на новую версию равносилен перелёту на другую планету (если читаешь это из Windows XP — поздравляю, это ты); и Викторы Цои, чьи сердца и глаза требуют перемен, и обновляют всё и вся при первой возможности. Если ты второго типа, и у тебя уже стоит последняя версия PHP на последней LTS версии Ubuntu, но покоя не даёт то, что расширение Intl использует устаревшую версию библиотеки ICU, или тебе просто понравились картинки из «Аватара» — добро пожаловать под кат! (Картинок больше не будет.)
Ну и зачем это?
Библиотека ICU с каждым релизом добавляет поддержку стандартов транслитерации для различных языков, добавляет новые функции и возможности, фиксит баги. Пока неизвестно, по какой причине PHP нерегулярно обновляет ICU в расширении Intl. Поэтому приходится всё брать в свои руки.
Поиск решения
Быстрый поиск по гуглу не дал внятных решений. Детальный тоже. В общем и целом пэхэпэшным программистам по барабану, какую версию ICU использует Intl. Но только не нашим! Отчаявшись искать в англоязычном сегменте интернета, совершенно случайно набрёл на запись русского блогера Сергея Стоянова, где он объясняет процесс обновления ICU в PHP 5 для Ubuntu 14.04. В PHP 7 процесс сильно отличается, но общая последовательность действий остаётся такой же: удаляем Intl; собираем новую версию ICU; устанавливаем Intl, ткнув его носом, где искать ICU; включаем Intl в PHP; открываем шампанское. Также сильно помогли комментарии к статье (особенно комментарий Антона Минина и его shell скрипт).
Версии ICU
Проверить последнюю версию ICU можно на их официальном сайте. На данный момент (февраль 2018) последний релиз — 60.2.
Чтобы проверить, какую версию ICU использует php7.0-intl, напиши в терминале и прокрути до списка установленных модулей. Найди там раздел, озаглавленный «intl». У меня там было:
Internationalization support => enabled
version => 1.1.0
ICU version => 55.1
ICU Data version => 55.1
Мягко говоря, не айс — версия 55.1 была выпущена в первой половине 2015-го, и с тех пор успела обновиться ещё 5 раз. Нужно же что-то делать!
Решение
Internationalization support => enabled
version => 1.1.0
ICU version => 60.2
ICU Data version => 60.2
how can I enable PHP Extension intl?
I am going to install Magento2 at my local server and it gives me following error notice.
I am using XAMPP. When I tried to enable it from php.ini file it throws another error for missing dll:
The program can’t start because MSVCP110.dll is missing from your computer. Try reinstalling the program to fix this problem.
23 Answers 23
First of all stop the xampp/wamp and then kindly remove the starting semicolon ( ; ) from your xampp/php/php.ini the following code.
And then restart your xampp/wamp.
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:
These steps for me solved the issue.
Note (2): I’m using XAMPP v3.2.3 and PrestaShop v1.7.5.1
I was also having the same issue, and just now i got it solved. Please try the bellow steps to get it solved:
If you are using ubuntu you can take update
And install extension in case of php 5.6
And in case of php 7.0
And restart your apache after
If you are using xampp then remove semicolon ( ; ) in xampp/php/php.ini from below line
And then restart your xampp.
and upload to C:/Windows folder
than after edit php.ini from XAMPP
Save the file and restart Apache from XAMPP
For Megento Installation you Need to
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
Starting with PHP 7.2.0, you only need to specify the extension name.
I.e., add the following line to your php.ini :
Simply copy all icu****.dll files from
intl extension will start working.
ADDITIONAL NOTE (As this is very old question and has no accepted answer yet)
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).
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.
Then all the things were passed as well as following picture.
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:
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.
Enabling/Installing Intl Extension PHP From Terminal
WP Domain Checker WordPress Plugin have feature allow you to check Internationalized Domain Name (IDN), to make this plugin able check IDN domain, you need enable/install Intl php extension. There are several method to install/enable this extension:
Installing on Linux (Ubuntu)
run the following commands:
sudo apt-get install php5-intl
You then need to restart Apache
sudo service apache2 restart
Installing on Linux (Centos)
run the following commands:
sudo yum install libicu
sudo yum install libicu-devel.x86_64
sudo /usr/bin/pecl install intl
add “extension=intl.so” in your php.ini file.
Installing on OSX
1. Install ICU Libraries with Homebrew
The ICU Libraries is our only dependency. If you have Homebrew installed you can use that; alternatively, you can download and compile from source.
brew install icu4c
2. Install Intl with PECL
sudo pecl update-channels
sudo pecl install intl
and add “extension=intl.so” in your php.ini file.
restart the apache.
if you found this error:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
The solution I came up with was to compile autoconf from source and set the environment variable which points to autoconf required by phpize.
Download autoconf
curl http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz > autoconf.tar.gz
Configure and make – note the folder un-archived may have a different name.
cd autoconf-2.69
./configure
sudo make && sudo make install
This installs autoconf to ‘/usr/local/bin/autoconf’. In order to get phpize to work set the PHP_AUTOCONF environment variable to point to the newly installed autoconf.
Running phpize when attempting to compile a php extension should now work.
Установка PHP расширений на Linux
Расширения php используют, когда требуется расширить набор функций для работы PHP-скриптов на сервере. Каждое расширение имеет узкую функциональность и способно серьезно облегчить и ускорить выполнение конкретных задач, связанных с php-кодом. В панель ISPmanager уже интегрированы популярные решения и часто достаточно только включить нужное. Но бывает и так, что для работы сайта или его компонентов необходимы другие расширения — и тут без установки вручную не обойтись.
Список практически всех доступных расширений есть на официальном сайте php.
Установленных версий php на сервере может быть несколько. Нативная версия PHP — версия из официального репозитория ОС. Дополнительно можно установить альтернативные версии. Это иногда необходимо, если для работы проекта требуется определенная версия php, которой нет в официальном репозитории.
Ниже мы рассмотрим несколько вариантов установки расширений php:
Дополнительно расскажем о том, как подключить расширения в консоли.
Установка расширений через панель ISPmanager
Далее воспользуемся поиском в верхнем правом углу — вводим туда название расширения. Если оно найдено, выбираем его. По необходимости устанавливаем и включаем:
Коротко о pecl
Прежде чем перейти к установке расширений с помощью пакетных менеджеров и альтернативного репозитория модулей, пару слов скажем о том, с какими ситуациями вы можете столкнуться во время работы с pecl. Ниже будут описаны некоторые из них:
Пример 1. Представим, что у нас две версии php:
Нативная (native) — /usr/bin/php
Альтернативная (alt) — /opt/php73/bin/php — альтернативная версия php 7.3 в панели ISPmanager.
Чтобы установить расширения php, для нативной и альтернативной версии необходимо использовать разные команды.
Для нативной версии:
Для альтернативной, php 7.3, так:
Поэтому важно помнить — необходимо указывать полный путь к бинарному файлу pecl. Ниже будут указаны команды установки, без полного пути, так как они могут отличаться, вам нужно иметь это ввиду.
Пример 2. Если вы используете не самую свежую версию php, то во время установки расширения можете получить сообщение о ее несоответствии требованиям — по умолчанию выбираются расширения последних версий, которые часто требуют свежих версий php. Пример уведомления:
В уведомлении указано, что версия php должна быть не ниже 7.0.0 и не выше 7.1.0, а мы пытаемся установить расширение на версию 5.6.40.
Чтобы понять, какая версия расширения нужна для установки на имеющуюся версию php (в данном случае 5.6.40), обратимся за помощью на официальный сайт. Ищем нужное расширение, переходим на его страницу:
Переходим в список изменений:
Находим в списке изменений, что последней версией расширения, поддерживающей php ниже 7 версии, является redis 2.2.8:
Важно!
После установки любого из расширений нужно перезапускать apache2/httpd или php-fpm. Также не забудьте проверить, подключилось ли расширение:
О том, как установить популярное расширение ioncube, читайте в нашей инструкции
Установка расширений через apt, yum и pecl
Ниже описаны установки расширений для всех версий php — от установки зависимостей до подключения. Описание разделено на версию ОС и версию php: нативную (native) или альтернативную (alt). Будьте внимательны при установке расширений для альтернативной версии через pecl.
mcrypt
Во время установки на вопрос “libmcrypt prefix? [autodetect]” жмём Enter.