Skip to content

Instantly share code, notes, and snippets.

@Svel
Last active August 29, 2015 14:10
Show Gist options
  • Save Svel/c7ae55a90d2354bd4952 to your computer and use it in GitHub Desktop.
Save Svel/c7ae55a90d2354bd4952 to your computer and use it in GitHub Desktop.
Updating ICU for PHP Intl
Обновляем ICU
нужен всякий gcc и проч. хлам для сборки ручками
wget http://download.icu-project.org/files/icu4c/54.1/icu4c-54_1-src.tgz
tar zxf icu4c-54_1-src.tgz
rm icu4c-54_1-src.tgz
cd icu/source/
./configure --prefix=/usr/local/
make
make install # sudo <...>
# apt-get remove php5-intl если был установлен
# apt-get install g++
pecl install intl # sudo <...>
sudo su
echo "extension=intl.so" > /etc/php5/<..>/conf.d/intl.ini
Это для sf2 и глючной даты
стоит для начала проэксперементировать на тест-сервере
(и убрать с него патч на UTC)
<?php
# Тест правильности данных ICU
# на выходе должен дать одинаковые даты
$dateIn = '27.10.2014';
$tz = 'Europe/Moscow';
date_default_timezone_set($tz);
$intlDateFormatter = new \IntlDateFormatter('ru_RU', 2, -1, $tz, 1, 'dd.MM.yyyy');
$timestamp = $intlDateFormatter->parse($dateIn);
var_dump($intlDateFormatter->format($timestamp));
var_dump(date('d.m.Y', $timestamp));
@prusov
Copy link

prusov commented Feb 4, 2015

Для компиляции нужен именно g++

apt-get install g++

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment