Установка intl с ICU 55.1 на не дефолную версию php на VPS
Установка intl с ICU 55.1 на не дефолную версию php на VPS¶
Качаем ICU 58.2(последнюю версию, с которой корректно собирается php intl на Centos 6.x в настоящий момент, 59.1 не собирается из-за ошибок вида
/opt/icu5c/include/unicode/umachine.h:347:13: error: 'char16_t' does not name a type)`
wget https://github.com/unicode-org/icu/releases/download/release-58-2/icu4c-58_2-src.tgz
tar zxvf icu4c-58_2-src.tgz
cd icu/source ./configure --prefix=/opt/icu5c && make && make install
wget https://pecl.php.net/get/intl-3.0.0.tgz
tar -xvzf intl-3.0.0.tgz
cd intl-3.0.0 /opt/php56/bin/phpize
./configure --with-php-config=/opt/php56/bin/php-config --with-icu-dir=/opt/icu5c
make
make install
ls -la /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/
echo "extension=intl.so" > /opt/php56/etc/php.d/intl.ini
/opt/php56/bin/php -m | grep intl
intl
``` bash
/opt/php56/bin/php -i | grep
ICU
Для php 7.x
делаем по другому. Скачиваем архив с исходниками php той же
версии, что и версия для которой собирается модуль
wget http://md1.php.net/distributions/php-7.1.7.tar.xz
tar -xvf php-7.1.7.tar.xz заходим в распакованный каталог
cd php-7.1.7
cd ext/intl
/opt/php71/bin/phpize
./configure --with-php-config=/opt/php71/bin/php-config --with-icu-dir=/opt/icu5c
make
make install
ls -la /opt/php71/lib/php/extensions/no-debug-non-zts-20131226/
echo "extension=intl.so" > /opt/php71/etc/php.d/intl.ini
/opt/php71/bin/php -m | grep intl
intl
/opt/php71/bin/php -i | grep
```
``` bash
ICU
Если в процессе сборки при make выдаются ошибки для ICU
версии > =59.1
, делаем так
make CXXFLAGS="-g -std=c++11"
make