Премиальное программное обеспечение и практические уроки
PHP международныйЭто расширение интернационализации, являющееся оболочкой библиотеки ICU. Поэтому перед установкой расширения PHP intl необходимо установить библиотеку ICU.
Что такое отделение интенсивной терапии?
ICU — это продуманный, широко используемый набор библиотек C/C++ и Java, обеспечивающий поддержку Unicode и глобализации для приложений. ICU широко переносим, обеспечивая одинаковые результаты для приложений на всех платформах и между программным обеспечением C/C++ и Java.
ICU распространяется по неограничивающей лицензии с открытым исходным кодом, подходящей как для коммерческого программного обеспечения, так и для другого программного обеспечения с открытым исходным кодом или бесплатного программного обеспечения.
Вот некоторые основные моменты услуг, предоставляемых отделением интенсивной терапии:
Преобразование кодовых страниц: преобразуйте текстовые данные между Unicode и практически любым другим набором символов или кодировкой. Таблицы преобразования ICU основаны на данных о наборах символов, собранных IBM за десятилетия, и являются самыми полными из доступных.
Параметры сортировки: сравнивайте строки в соответствии с правилами и стандартами конкретного языка, региона или страны. Параметры сортировки ICU основаны на алгоритме сортировки Unicode и правилах сравнения, зависящих от локали, из Common Locale Data Repository — всеобъемлющего источника таких данных.
Форматирование: форматирует числа, даты, время и денежные суммы в соответствии с выбранным региональным стандартом. Это включает в себя перевод названий месяцев и дней на выбранный язык, выбор соответствующих сокращений, корректный порядок полей и т. д. Эти данные также берутся из общего хранилища данных региональных стандартов.
Расчёт времени: помимо традиционного григорианского календаря, он также предоставляет несколько типов календарей. Также предоставляется полный набор API для расчёта часовых поясов.
Поддержка Unicode: ICU внимательно следит за стандартом Unicode, обеспечивая легкий доступ ко всем многочисленным свойствам символов Unicode, нормализации Unicode, преобразованию регистра и другим основным операциям, указанным в стандарте Unicode.
Регулярные выражения: регулярные выражения ICU полностью поддерживают Unicode, обеспечивая при этом весьма конкурентоспособную производительность.
Bidi: поддерживает обработку смешанного текста, содержащего данные, написанные слева направо (английский язык) и справа налево (арабский язык или иврит).
Границы текста: определите положение слова, предложения, абзаца в текстовом диапазоне или места, где необходимо разрывать строки при отображении текста.
И многое другое. Подробности см. в руководстве пользователя отделения интенсивной терапии.
Сначала загрузите пакет программного обеспечения ICU. Последнюю версию можно найти на официальном сайте ICU. Адрес сайта:http://site.icu-project.org/
Версии ICU можно скачать с GitHub. Загрузите последнюю версию ICU, соответствующую версии вашей системы. Последняя версия — 66.1, которая в основном обновляет Unicode 13 и CLDR 36.1. Новая версия Q1 предназначена для интеграции Unicode 13 с низким уровнем риска.
wget https://github.com/unicode-org/icu/releases/download/release-66-1/icu4c-66_1-src.tgz
Распакуйте пакет программного обеспечения
tar -zxf icu4c-66_1-src.tgz
Установите ICU на сервер и укажите каталог установки /usr/local/icu.
cd icu/source ./configure --prefix=/usr/local/icu make && make install
Проверьте версию недавно установленного блока интенсивной терапии
ням инфо icu
Я обнаружил, что это 50.2. Я проверил на официальном сайте и обнаружил CLDR 22.1, Unicode 6.2, поддержку порядковых номеров и итераторы прерываний на основе словаря для китайского и японского языков.
На этом этапе библиотека ICU установлена. Загрузите и перейдите к следующему шагу — установке расширения intl в составе установочного пакета PHP7.
Сначала установите зависимые программные пакеты. Если вы ранее не настраивали среду, их необходимо установить заново. Ранее настроенные пакеты также необходимо установить и протестировать, чтобы не пропустить их!
yum -y install make gcc-c++ gd libxml2-devel libjpeg-devel libpng-devel net-snmp-devel curl-devel libxslt-devel pcre-devel libjpeg libpng libxml2 libcurl4-openssl-dev libcurl-devel libcurl libmysqlclient freetype-config freetype freetype-devel unixODBC libxslt
После установки пакетов зависимостей приступайте к установке расширений из установочного пакета PHP7.
Если на сервере нет установочного пакета PHP7, вам необходимо загрузить его заново.
wget https://www.php.net/distributions/php-7.4.3.tar.gz
Войдите в каталог хранения расширений в каталоге установки PHP7, скомпилируйте и настройте расширение intl.
cd php-7.4.3/ext/intl phpize ./configure make && make install
Расширение intl успешно установлено!
cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/
Проверьте каталог с помощью команды ls. Файл Intl.so был сгенерирован. Вставьте следующий код в файл php.ini PHP7 и перезапустите службу PHP.
расширение=/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/intl.so
Используйте VI для редактирования php.ini. Найдите пустую строку и нажмите I, чтобы перейти в режим редактирования. После вставки указанного выше содержимого нажмите ESC, чтобы выйти из режима редактирования. Введите команду :wq, чтобы сохранить файл и выйти из режима редактирования VI.
vim /usr/local/php/etc/php.ini
После перезагрузки системы запустите PHP и проверьте, есть ли расширение intl на странице проверки PHP.
Поздравляем, вы успешно установили расширение intl!