php-intl installed but not working
I have cP 124 on CloudLinux 8 and via "EasyApache 4" -> "PHP Extensions" the php-intl extensions are installed for every available PHP version.
But for every version greater than PHP 7.1, it's not working. phpinfo() says it parsed the ini at eg "/opt/cpanel/ea-php82/root/etc/php.d/20-intl.ini", but it lacks the intl block later on and get_loaded_extensions() does not list it either. For versions up to (including) 7.1 it works. The inis between versions are identical.
The ini contains "extension=intl.so" so it should be loaded, and rpm verified all "ea-php??-php-intl" packages as unmodified. The intl.so exists at "/opt/cpanel/ea-php82/root/usr/lib64/php/modules/intl.so", belongs to "ea-php82-php-intl-8.2.26-1.el8.cloudlinux.x86_64" and is unmodified.
"/opt/cpanel/ea-php82/root/var/log/php-fpm/error.log" doesn't show anything odd when restarting the php-fpm service.
The problem seem to be missing libicu dependencies:
"ldd /opt/cpanel/ea-php82/root/usr/lib64/php/modules/intl.so"
linux-vdso.so.1 (0x00007ffc289a4000)
libargon2.so.0 => /opt/cpanel/libargon2/lib64/libargon2.so.0 (0x00007f590e8f8000)
libicuio.so.69 => not found
libicui18n.so.69 => not found
libicuuc.so.69 => not found
libicudata.so.69 => not found
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f590e563000)
libm.so.6 => /lib64/libm.so.6 (0x00007f590e1e1000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f590dfc9000)
libc.so.6 => /lib64/libc.so.6 (0x00007f590dbf3000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f590d9d3000)
/lib64/ld-linux-x86-64.so.2 (0x00007f590ed8d000)
"ea-libicu" is installed and up to date, but it does not provide the dependencies.
So how to fix that?
-
Hey there! Just to confirm, you have the cpanel ea-php##-php-intl packages installed, correct? If you run this command on the server:
rpm -qa | grep -i intl
do you see them listed there?
0 -
I have the exact issue since yesterday.
[root@srv ~]# rpm -qa | grep -i intl
ea-php81-php-intl-8.1.31-1.el8.cloudlinux.x86_64
ea-php80-php-intl-8.0.30-6.el8.cloudlinux.1.x86_64
alt-php-internal-intl-8.2.14-2.el8.x86_64
ea-php82-php-intl-8.2.26-1.el8.cloudlinux.x86_64
ea-php74-php-intl-7.4.33-12.el8.cloudlinux.1.x86_640 -
Perhaps you are hitting this cPanel bug:
We have seen this issue on a few servers.
0 -
Yeah, all packages are installed and valid.
That seems to be the bug. I've already transfered the missing deps from another server (instead of downgrading) and so far the problem seems to be solved.
0 -
Thanks for sharing that case - it seems we updated that page overnight so I wasn't aware it even existed!
0 -
Confirmed same issue on a few servers over here. The recommended fix on that cPanel bug page did not work as the dependencies were still missing. I had to go to another working server and grab the .69 files from /opt/cpanel/ea-libicu/lib/ and copy them to the same path on the new server. I then bounced PHP and everything is good.
0 -
Tried it on one server thus far. Unfortunately he workaround has not worked in my case.
Is there a working workaround for this bug?
0 -
I just had an incident today where the workaround didn't work either. I had to downgrade a few versions befure it worked (I dont recall now what version). So try run the dnf downgrade 2-3-4 times (test for each step with "ea-php74 -m |grep intl" for example..
0 -
Update - CloudLinux has released a fix and we've updated that article accordingly. If you're still seeing issues, it would be best to submit a ticket so CloudLinux can identify what is not working.
0
Please sign in to leave a comment.
Comments
9 comments