• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Forwarded to devs INTL EXT compiled against old ICU

futureweb

Regular Pleskian
TITLE:
INTL EXT compiled against old ICU
PRODUCT, VERSION, OPERATING SYSTEM, ARCHITECTURE:
PHP 7.2 (and older), Plesk Onyx (Linux, Centos 6.9)
PROBLEM DESCRIPTION:
INTL EXT is compiled against old ICU Version which leads to Problems since INTL_IDNA_VARIANT_2003 is deprecated in PHP 7.2:

Code:
mod_fcgid: stderr: PHP Deprecated:  idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated

normally no problem ... just change Variant:

Code:
$email = idn_to_ascii("österreich.at"); //DEPRECATED
$email1 = idn_to_ascii("österreich.at", 0, INTL_IDNA_VARIANT_UTS46); //NORMALLY OK SINCE PHP 5.x ...

But this is not working with INTL compiled against this old ICU ...

Code:
mod_fcgid: stderr: PHP Warning:  Use of undefined constant INTL_IDNA_VARIANT_UTS46 - assumed 'INTL_IDNA_VARIANT_UTS46'

upload_2018-2-14_11-22-16.png

Reference: Issue - Latest Plesk Onyx - PHP 7.2 - INTL EXT Problem (compiled against old ICU)
STEPS TO REPRODUCE:
use idn_to_ascii() with Plesk compiled PHP 7.2 ;-)

Code:
$email = idn_to_ascii("österreich.at"); //DEPRECATED

$email1 = idn_to_ascii("österreich.at", 0, INTL_IDNA_VARIANT_UTS46); //NORMALLY OK SINCE PHP 5.x ...
ACTUAL RESULT:
either deprecation warning or undefined constant


Code:
mod_fcgid: stderr: PHP Deprecated:  idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated

mod_fcgid: stderr: PHP Warning:  Use of undefined constant INTL_IDNA_VARIANT_UTS46 - assumed 'INTL_IDNA_VARIANT_UTS46'
EXPECTED RESULT:
no Error​
ANY ADDITIONAL INFORMATION:
YOUR EXPECTATIONS FROM PLESK SERVICE TEAM:
Confirm bug / deliver updated ICU Package with Plesk
 
Last edited:
Thank you for report.
This issue was confirmed and the corresponding bugreport submitted as PPPM-8019
 
anything new on that?
we updated our Servers to Plesk 17.8 - and this Bug is still present ... throwing Megabytes on Errors on our Roundcube installations and some other Apps ....
wouldn't be that hard to get it compiled right ... (5 Minutes in fact ... without testing ... hehe :) )

Andreas Schnederle-Wagner
 
Last edited:
Apart from the log warnings.. there is still the issue that the ICU is out of date.
I got a fully updated Plesk server, but i the ICU version is from 2009... Is there a way to upgrade this?

/opt/plesk/php/7.2/bin/php -i | grep ICU
ICU version => 4.2.1
ICU TZData version => 2009j
ICU Unicode version => 5.1
 
I see:

# /opt/plesk/php/7.2/bin/php -i | grep ICU
ICU version => 55.1
ICU Data version => 55.1
ICU TZData version => 2015b
ICU Unicode version => 7.0

# plesk version
Product version: Plesk Onyx 17.9.9
Build date: 2018/12/11 19:00
OS version: Ubuntu 16.04
 
I get the following.

# /opt/plesk/php/7.2/bin/php -i | grep ICU
ICU version => 4.2.1
ICU TZData version => 2009j
ICU Unicode version => 5.1

# plesk version
Product version: Plesk Onyx 17.8.11 Update #34
Build date: 2018/12/05 07:56
OS version: CentOS 6.10

Could you let the dev's take a look at it somehow? Because we've got some customers who want to use web-applications, with a higher version than ICU 4.2.1.
 
Last edited:
I'm also having issues with the outdated ICU. Even on Igor's Plesk version of 19.9.9 and ICU version 55 it's almost 4 years old. The ICU project is currently at version 63.1. Would be nice if the Plesk PHP versions also keep up with the ICU.
 
i'm having the same problem with centos 6.10 + onyx 17.8.11 update #94, is there a way to solve? upgrading to obsidian might help?

/opt/plesk/php/7.3/bin/php -i | grep ICU
ICU version => 4.2.1
ICU TZData version => 2009j
ICU Unicode version => 5.1

Regards
 
It is updated on the latest Plesk version:

# /opt/plesk/php/7.3/bin/php -i | grep ICU
ICU version => 50.2
ICU Data version => 50.2
ICU TZData version => 2018e
ICU Unicode version => 6.2

[root@igubaidullin-sites ~]# plesk version
Product version: Plesk Obsidian 18.0.36.0
OS version: CentOS 7.9.2009 x86_64
 
It is updated on the latest Plesk version:

# /opt/plesk/php/7.3/bin/php -i | grep ICU
ICU version => 50.2
ICU Data version => 50.2
ICU TZData version => 2018e
ICU Unicode version => 6.2

[root@igubaidullin-sites ~]# plesk version
Product version: Plesk Obsidian 18.0.36.0
OS version: CentOS 7.9.2009 x86_64
it work on centos 6.10 as well?
 
yes i knew, buy my question is, upgrading centos 6.10 to obsidian will solve my issue?
You can't upgrade CentOS 6.10 to Obsidian because CentOS is an operating system, but Obsidian is Plesk.
You can install the modern supported OS, install the latest version of Plesk there and then perform migration from your old Plesk server to the new one.
 
You can't upgrade CentOS 6.10 to Obsidian because CentOS is an operating system, but Obsidian is Plesk.
You can install the modern supported OS, install the latest version of Plesk there and then perform migration from your old Plesk server to the new one.i kn
 
what i want to explain is:

now i have centos 6.10 + onyx if i upgrade to 6.10 + obsidian will i solve my problem yes or no?
 
now i have centos 6.10 + onyx if i upgrade to 6.10 + obsidian will i solve my problem yes or no?
You can't upgrade the operating system CentOS 6.10 to CentOS 7 with the preservation of working your Plesk Onyx. This scenario is not supported.
Moreover, the original issue with INTL PHP module does not relate to the operating system, but to the Plesk version. You must have Plesk Obsidian for solving the initial issue. But Plesk Obsidian does not work on the outdated CentOS 6 operating system.
Therefore, use the scenario I wrote about above.
 
Back
Top