В интернете довольно непросто найти точную информацию под компиляцию ICU в версиях PHP 7-7.1
Распишу 100% шаги, которые сработали у меня на ubuntu 12.04 (php 7.1)
Источник:
http://light-code.ru/blog/post/update-icu-in-ubuntu/
1. Переключаемся на root:
2. Создаем временную директорию
3. Установим компилятор (возможно установлен уже)
4. Удаляем расширение intl
5. Заходим
http://site.icu-project.org/download =>
http://site.icu-project.org/download/58 и качаем послед. версию
Код: Выделить всё
cd ~/tmp; mkdir icu; cd icu; wget http://download.icu-project.org/files/icu4c/58.2/icu4c-58_2-src.tgz
6. Распаковка
7. Компиляция ICU
Код: Выделить всё
cd ~/tmp/icu/icu/source; ./configure --prefix=/opt/icu582 && make && make install
8. Качаем source php
Код: Выделить всё
cd ~/tmp; mkdir build-intl; cd build-intl; git clone https://github.com/php/php-src.git
9. Смотрим какая точная версия php у нас установлена (если на сервере установлено несколько версий php, то нужно указать полный путь до php)
10. Переходим на ветку нужной версии php
11. Настраиваем и компилируем расширение
Код: Выделить всё
cd ~/tmp/build-intl/php-src/ext/intl
phpize
./configure --with-php-config=/usr/bin/php-config --with-icu-dir=/opt/icu582
make
12. Устанавливаем расширение
Код: Выделить всё
make install
nano /etc/php/7.1/fpm/php.ini (в конце добавляем extension=intl.so)
nano /etc/php/7.1/cli/php.ini (в конце добавляем extension=intl.so)
service php7.1-fpm restart
13. Проверка CLI
Код: Выделить всё
php --info | grep ICU
Результат должен быть примерно таким:
323:ICU version => 58.2
324:ICU Data version => 58.2
14. Проверка FPM
Создаете info.php c
Обращаетесь к файлу через браузер и ищите ICU