5
votes

I have installed Symfony 3.2.6. When i check /config.php in browser i get a message:

intl ICU version installed on your system is outdated (57.1) and does not match the ICU data bundled with Symfony (58.2) To get the latest internationalization data upgrade the ICU system package and the intl PHP extension.

First a tried to update ICU extensions like it was described here Update ICU extension within xampp? I downloaded suitable package from PECL http://site.icu-project.org/download/58 coppied to apache/bin folder, restarted apache, but PHP loads the old 57.1 ICU version.

Then I tried to update php_intl.dll ftom https://pecl.php.net/package/intl but i didn't find any suitable package for php 7.

Is there a proper wat to uprgrade ICU lib in php 7?

1
This is kind of a nasty problem. All current php 7 versions are using ICU version 57.x. I think it does not make a difference to change the dll files because the reference is part of the php_intl.dll.goulashsoup

1 Answers

3
votes

That's a really nasty problem. If there is no newer compatible PHP version and since updating the intl extensions did not do to the trick I guess you have to compile PHP with a custom ICU version:

The ICU versions can be checked out here: http://source.icu-project.org/repos/icu/icu/tags/

Check out
cd source
./configure --prefix=$(pwd)/../build (sets a custom install dir)
make (build)
make install (install to "build" dir)

Now that ICU is built, you need to run PHP's "configure" script and point it to the build dir:

./configure ... --enable-intl --with-icu-dir=/path/to/icu/build