Author Topic: update ICU system package and the intl PHP extension  (Read 10690 times)

0 Members and 1 Guest are viewing this topic.

Offline
***
Re: update ICU system package and the intl PHP extension
« Reply #15 on: March 18, 2019, 06:49:44 PM »
Hi,

The problem was found in the ICU version - because of the use of prestashop, I had to compile the latest version of ICU,  version 63.1...

I did so by following and applying the help my colleagues gave to the following address:

http://forum.centos-webpanel.com/php/update-icu-system-package-and-the-intl-php-extension/msg20852/#msg20852

and more precisely, in the following terms:

Quote
[root@cwp7 source]# yum list available | grep libicu
libicu.i686                               50.1.2-15.el7                  base
libicu-devel.i686                         50.1.2-15.el7                  base
libicu-doc.noarch                         50.1.2-15.el7                  base

Quote
[root@cwp7 ~]# icuinfo | grep version
    <param name="version">50.1.2</param>
    <param name="version.unicode">6.2</param>
    <param name="cldr.version">22.1.1</param>
    <param name="tz.version">2012j</param>


Well 50.1.2 the latest version of icu available for centos 7 base repository.

If you need any other version then you need to compile it from source (http://download.icu-project.org/files/icu4c/).

So lets take 62.1 version and compile it.


Quote
cd /usr/local/src
wget http://download.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz
tar -xvf icu4c-*.tgz
cd icu/source/
sed -i '/#define __UCONFIG_H__/a #define UCONFIG_ENABLE_PLUGINS 1' common/unicode/uconfig.h
./configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --datadir=/usr/share --enable-plugins
make -j4 && make install

Quote
[root@cwp7 source]# icuinfo | grep version
    <param name="version">62.1</param>
    <param name="version.unicode">11.0</param>
    <param name="cldr.version">33.1</param>
    <param name="tz.version">2018e</param>

More compiling options can be found inside "configure" and you can use as per your need.

This version of ICU works with PHP 7 and later, but it did not work with PHP 5.6.38 - 40 ... and when compiling with the PHP selector does not get ...
When removed the "INTL" from option list, the version 5.6.40 is installed without problems ...

With PHP Switcher I have installed a version of PHP 7.2.14 and there things are ok ...

Before I changed the ICU version to 63.1 with the other PHP-FPM selector I have compiled a version of PHP 5.6.38 and it is still active and uses the old version of ICU 50.1

This means I have both ICU versions, but when compiling an older version of a PHP, for example, 5.6.38 or 5.6.40 should be said to use the older ICU or maybe in the compilation of the PHP and choosing the "INTL" module should be told to which version of the ICU should be compiled ...

Thanks in advance!

BR

Venty

To ask again is there a variant of not one server to use two versions of intl (both ICU versions)???

BR
Venty

Offline
***
Re: update ICU system package and the intl PHP extension
« Reply #16 on: November 05, 2019, 10:58:55 AM »
Hi,

I upgraded the ICU version to 63.1 and updated the PHP version several times ... I noticed that when updating the PHP version, my ICU version remains the one I upgraded to ( 63.1 ) ... That was so until the PHP version 7.3.9 was updated. ... When updating the PHP version to 7.3.10, the ICU version returned to 50.1.2...

I looked at the changes to the PHP versions ( https://www.php.net/ChangeLog-7.php ) and found that the PHP version 7.3.10 had a modification of the INTL module, and in the previous versions there was no similar change ...

The question is this - If there is a change in the INTL module at the changes to the PHP version, will there be a return of ICU version to the standard 50.1.2 or If NOT there is a change in the INTL module .......

Thanks in advance!

BR
Venty

Offline
***
Re: update ICU system package and the intl PHP extension
« Reply #17 on: November 12, 2019, 11:59:56 AM »
Pls....