php extension intl not loaded for additional php interpreters  [SOLVED]

Have you discovered a bug? Tell us about it.
Post Reply
piotrv
Posts: 7
Joined: Thu 4. Jun 2026, 22:35

php extension intl not loaded for additional php interpreters

Post by piotrv »

I'm sure the cause of the problem is within KeyHelp
Yes

Server operating system + version
Debian 13

Server virtualization technology used
none

KeyHelp version + build number
26.0

Problem description / error messages
intl extension not loaded by default for addition php interpreters

Code: Select all

/opt/keyhelp/php/8.4/bin/php -m 

Code: Select all

 /opt/keyhelp/php/7.4/bin/php -m
Expected result

Code: Select all

 /opt/keyhelp/php/7.4/bin/php -m
intl
Actual result

Code: Select all

$ /opt/keyhelp/php/7.4/bin/php -m | grep -i intl
PHP Warning: PHP Startup: Unable to load dynamic library 'intl'

Steps to reproduce
see above
I also tested with PHP script

Code: Select all

echo "INT: ", extension_loaded('intl') ? 'LOADED' : 'MISSING', '<br>';
Additional information
Can you confirm the intl extension is not loaded by default for all key help installed php interpreters?
Extension module is loaded by default PHP in the Debian distribution:

Code: Select all

/usr/bin/php -m | grep -i intl
intl

IF module is not loaded by the Keyhelp install script, (which is obfuscated, so I cannot read content), how do I add this specific extension for every additional KeyHelp PHP interpreter? I need the Intl module for mediawiki installation upgrade
User avatar
Florian
Keyweb AG
Posts: 1932
Joined: Wed 20. Jan 2016, 02:28

Re: php extension intl not loaded for additional php interpreters

Post by Florian »

Hallo,

the intl extension is included in the Keyhelp PHP versions:

Code: Select all

# /opt/keyhelp/php/7.4/bin/php -m | grep -i intl
intl

/opt/keyhelp/php/8.4/bin/php -m | grep -i intl
intl

Mit freundlichen Grüßen / Best regards
Florian Cheno

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
Alexander
Keyweb AG
Posts: 4889
Joined: Wed 20. Jan 2016, 02:23

Re: php extension intl not loaded for additional php interpreters

Post by Alexander »

Please check what libs are present on your system:

Code: Select all

usr/lib/x86_64-linux-gnu/libicudata*
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
piotrv
Posts: 7
Joined: Thu 4. Jun 2026, 22:35

Re: php extension intl not loaded for additional php interpreters

Post by piotrv »

Alexander wrote: Tue 9. Jun 2026, 12:27 Please check what libs are present on your system:

Code: Select all

/usr/lib/x86_64-linux-gnu/libicudata*
piotrv
Posts: 7
Joined: Thu 4. Jun 2026, 22:35

Re: php extension intl not loaded for additional php interpreters

Post by piotrv »

Alexander wrote: Tue 9. Jun 2026, 12:27 Please check what libs are present on your system:
This is what I have:

Code: Select all

ll /usr/lib/x86_64-linux-gnu/libicudata*
lrwxrwxrwx 1 root root       18 May 31  2025 /usr/lib/x86_64-linux-gnu/libicudata.so.76 -> libicudata.so.76.1
-rw-r--r-- 1 root root 31864368 May 31  2025 /usr/lib/x86_64-linux-gnu/libicudata.so.76.1
User avatar
Alexander
Keyweb AG
Posts: 4889
Joined: Wed 20. Jan 2016, 02:23

Re: php extension intl not loaded for additional php interpreters

Post by Alexander »

Please perform these commands and it should work:

Code: Select all

cp /opt/keyhelp/php/7.4/lib/icu-69-1/lib/libicudata.so.69.1  /usr/lib/x86_64-linux-gnu/libicudata.so.69

Code: Select all

systemctl restart keyhelp-php74-fpm
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
piotrv
Posts: 7
Joined: Thu 4. Jun 2026, 22:35

Re: php extension intl not loaded for additional php interpreters

Post by piotrv »

Alexander wrote: Wed 10. Jun 2026, 15:40 Please perform these commands and it should work:

Code: Select all

cp /opt/keyhelp/php/7.4/lib/icu-69-1/lib/libicudata.so.69.1  /usr/lib/x86_64-linux-gnu/libicudata.so.69

Code: Select all

systemctl restart keyhelp-php74-fpm
No icu-69-1 directory on all my additonal keyhelp php installations !?!?!? :o

Code: Select all

ll /opt/keyhelp/php/7.4/lib/
total 4
drwxr-xr-x 4 root root 4096 Aug 22  2025 php

Code: Select all

ll /opt/keyhelp/php/8.4/lib/
total 4
drwxr-xr-x 4 root root 4096 Aug 22  2025 php
Might this has to do with my Debian 12 -> 13 upgrade recently via the KeyHelp os upgrade shellscript ?
User avatar
Alexander
Keyweb AG
Posts: 4889
Joined: Wed 20. Jan 2016, 02:23

Re: php extension intl not loaded for additional php interpreters

Post by Alexander »

piotrv wrote: Wed 10. Jun 2026, 22:45 No icu-69-1 directory on all my additonal keyhelp php installations !?!?!? :o
They are only available for Debian 13 in PHP 7.4 and PHP 8.0. But still strange they are not there on your system.

Let's reinstall the additional interpreter and see if it fixes the issue:

1) Open the file /opt/keyhelp/php/7.4/keyhelp-setup/buildnumber and replace the content with a 0

2) Trigger the reinstall with this command: keyhelp run php-update

3) Check if intl is now working as expected.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
piotrv
Posts: 7
Joined: Thu 4. Jun 2026, 22:35

Re: php extension intl not loaded for additional php interpreters

Post by piotrv »

Alexander wrote: Thu 11. Jun 2026, 09:33 2) Trigger the reinstall with this command: keyhelp run php-update
This is not going well :cry:
keyhelp run php-update

Code: Select all

sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
[PID-14662] [2026-06-11 17:36:45] INFO | forced to run "php_update.php"
[PID-14662] [2026-06-11 17:36:45] INFO | jobs to run: php_update.php
[PID-14662] [2026-06-11 17:36:45] INFO | >>> trying to run "php-update"
[PID-14662] [2026-06-11 17:36:45] INFO | lock "php-update" acquired
[PID-14662] [2026-06-11 17:36:45] INFO | processing the job ...
[2026-06-11 17:36:45] INFO | starting repo update
[2026-06-11 17:36:45] INFO | step: uninstall php versions
[2026-06-11 17:36:45] INFO | no tasks found
[2026-06-11 17:36:45] INFO | step: update php versions
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
[2026-06-11 17:36:45] INFO | no tasks found, everything is up to date
[2026-06-11 17:36:45] INFO | step: install new php versions
[2026-06-11 17:36:45] INFO | no tasks found
[PID-14662] [2026-06-11 17:36:45] INFO | <<< job done, releasing lock "php-update"
Consequently, /opt/keyhelp/php/7.4/lib/ is not being populated with icu-69-1.
Still only this :

Code: Select all

ls -R  /opt/keyhelp/php/7.4/lib/

Code: Select all

/opt/keyhelp/php/7.4/lib/:
php

/opt/keyhelp/php/7.4/lib/php:
build  extensions

/opt/keyhelp/php/7.4/lib/php/build:
ax_check_compile_flag.m4  config.guess  libtool.m4  Makefile.global            phpize.m4  pkg.m4         shtool
ax_gcc_func_attribute.m4  config.sub    ltmain.sh   php_cxx_compile_stdcxx.m4  php.m4     run-tests.php

/opt/keyhelp/php/7.4/lib/php/extensions:
no-debug-non-zts-20190902

/opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902:
apc.so     calendar.so  gettext.so  imap.so  mailparse.so  opcache.a   redis.so   ssh2.so    zip.so
apcu.so    curl.so      gmp.so      intl.so  mbstring.so   opcache.so  soap.so    tidy.so
bcmath.so  gd.so        imagick.so  ldap.so  memcached.so  pgsql.so    sodium.so  xdebug.so
These are my current php modules for this additional php interpreter (so without the intl module):

Code: Select all

/opt/keyhelp/php/7.4/keyhelp-setup# keyhelp-php74 -m

Code: Select all

PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/imagick.so' (tried: /opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902//opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/imagick.so.so (/opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902//opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/intl.so' (tried: /opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/intl.so (libicuio.so.72: cannot open shared object file: No such file or directory), /opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902//opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/intl.so.so (/opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902//opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/intl.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/ldap.so' (tried: /opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/ldap.so (libldap-2.5.so.0: cannot open shared object file: No such file or directory), /opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902//opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/ldap.so.so (/opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902//opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/ldap.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/zip.so' (tried: /opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/zip.so (libzip.so.4: cannot open shared object file: No such file or directory), /opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902//opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/zip.so.so (/opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902//opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902/zip.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
[PHP Modules]
apc
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imap
ionCube Loader
json
libxml
mailparse
mbstring
memcached
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SourceGuardian
SPL
sqlite3
ssh2
standard
sysvsem
sysvshm
tidy
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zlib

[Zend Modules]
SourceGuardian
Zend OPcache
the ionCube PHP Loader + ionCube24
User avatar
Alexander
Keyweb AG
Posts: 4889
Joined: Wed 20. Jan 2016, 02:23

Re: php extension intl not loaded for additional php interpreters

Post by Alexander »

Have you updated the build number, as I explained in step 1)?
Because without it, there is no reinstall triggered, like it is shown in the log you posted.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
piotrv
Posts: 7
Joined: Thu 4. Jun 2026, 22:35

Re: php extension intl not loaded for additional php interpreters

Post by piotrv »

Alexander wrote: Thu 11. Jun 2026, 20:26 Have you updated the build number, as I explained in step 1)?
For sure :P
build number was 20250820101752 -> 0
then

Code: Select all

keyhelp run php-update
[

Code: Select all

PID-18963] [2026-06-11 19:07:32] INFO | forced to run "php_update.php"
[PID-18963] [2026-06-11 19:07:32] INFO | jobs to run: php_update.php
[PID-18963] [2026-06-11 19:07:32] INFO | >>> trying to run "php-update"
[PID-18963] [2026-06-11 19:07:32] INFO | lock "php-update" acquired
[PID-18963] [2026-06-11 19:07:32] INFO | processing the job ...
[2026-06-11 19:07:32] INFO | starting repo update
[2026-06-11 19:07:32] INFO | step: uninstall php versions
[2026-06-11 19:07:32] INFO | no tasks found
[2026-06-11 19:07:32] INFO | step: update php versions
[2026-06-11 19:07:32] INFO | update version from "7.4.33_00000000000000" to "7.4.33_20250820101752"
/tmp/keyhelp/php_7.4.33_2025082010175 100%[=======================================================================>]  59.23M  6.94MB/s    in 9.6s    
[2026-06-11 19:07:50] INFO | version "7.4.33_20250820101752" successfully updated
[2026-06-11 19:07:51] INFO | step: install new php versions
[2026-06-11 19:07:51] INFO | no tasks found
[PID-18963] [2026-06-11 19:07:51] INFO | <<< job done, releasing lock "php-update"

Code: Select all

cat /opt/keyhelp/php/7.4/keyhelp-setup/buildnumber 

20250820101752
So again build number as it was before :?
And no intl module :cry:

Code: Select all

/opt/keyhelp/php/7.4/bin/php-config 

Usage: /opt/keyhelp/php/7.4/bin/php-config [OPTION]
Options:
  --prefix            [/opt/keyhelp/php/7.4]
  --includes          [-I/opt/keyhelp/php/7.4/include/php -I/opt/keyhelp/php/7.4/include/php/main -I/opt/keyhelp/php/7.4/include/php/TSRM -I/opt/keyhelp/php/7.4/include/php/Zend -I/opt/keyhelp/php/7.4/include/php/ext -I/opt/keyhelp/php/7.4/include/php/ext/date/lib]
  --ldflags           [ -L/usr/lib/x86_64-linux-gnu/mit-krb5 -L/usr/lib/x86_64-linux-gnu]
  --libs              [-lcrypt   -largon2 -lcrypt -lreadline -lncurses -lpq -lrt -lbz2 -lrt -lm  -lxml2 -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto -lsqlite3 -lz -lxml2 -lssl -lcrypto -lsqlite3 -lxml2 -lcrypt -largon2 -lxml2 -lxml2 -lxml2 -lxml2 -lxslt -lxml2 -lexslt -lxslt -lxml2 -lz -lssl -lcrypto -lcrypt ]
  --extension-dir     [/opt/keyhelp/php/7.4/lib/php/extensions/no-debug-non-zts-20190902]
  --include-dir       [/opt/keyhelp/php/7.4/include/php]
  --man-dir           [/opt/keyhelp/php/7.4/share/man]
  --php-binary        [/opt/keyhelp/php/7.4/bin/php]
  --php-sapis         [ cli fpm phpdbg cgi]
  --ini-path          [/opt/keyhelp/php/7.4/etc]
  --ini-dir           [/opt/keyhelp/php/7.4/etc/conf.d]
  --configure-options [--with-config-file-path=/opt/keyhelp/php/7.4/etc --with-config-file-scan-dir=/opt/keyhelp/php/7.4/etc/conf.d --prefix=/opt/keyhelp/php/7.4 --libexecdir=/opt/keyhelp/php/7.4/libexec --datadir=/opt/keyhelp/php/7.4/share/php --mandir=/opt/keyhelp/php/7.4/share/man --disable-debug --enable-cgi --enable-exif --enable-ftp --enable-fpm --enable-pcntl --enable-phpdbg --enable-shmop --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xmlreader --with-zlib --with-zlib-dir=/usr --with-bz2 --with-kerberos --with-openssl --with-xsl --with-xmlrpc --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --with-pdo-pgsql --with-readline --with-libdir=lib --with-password-argon2]
  --version           [7.4.33]
  --vernum            [70433]
I also noticed something strange which might be indirectly related to the issue:

Code: Select all

keyhelp version
KeyHelp          : 26.0 (Build 3624)
Operating System :[b] Debian 12.7 (64-bit)
But I am on Debian 13:

Code: Select all

lsb_release -d

Description:	Debian GNU/Linux 13 (trixie)
User avatar
Alexander
Keyweb AG
Posts: 4889
Joined: Wed 20. Jan 2016, 02:23

Re: php extension intl not loaded for additional php interpreters

Post by Alexander »

piotrv wrote: Thu 11. Jun 2026, 21:26 I also noticed something strange which might be indirectly related to the issue:

Code: Select all

keyhelp version
KeyHelp          : 26.0 (Build 3624)
Operating System :[b] Debian 12.7 (64-bit)
But I am on Debian 13:

Code: Select all

lsb_release -d

Description:	Debian GNU/Linux 13 (trixie)
In this case, I would highly recommend restoring a backup and restarting the dist-upgrade again. Something went wrong during Debian's dist-upgrade, and at this point, one cannot guarantee which parts of the system are still Debian 12 and which are Debian 13.

It could be as simple as modifying /etc/debian_version by hand to version 13 and triggering the reinstall of the interpreter again (KeyHelp uses this file on Debian, to determine the OS version). But I doubt that this single file is the only place which hasn't been updated by the dist-upgrade routine.

(Or has this file been restored as part of a backup restore operation, which would also explain why it has the old content?)
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
piotrv
Posts: 7
Joined: Thu 4. Jun 2026, 22:35

Re: php extension intl not loaded for additional php interpreters  [SOLVED]

Post by piotrv »

Alexander wrote: Fri 12. Jun 2026, 10:04 It could be as simple as modifying /etc/debian_version by hand to version 13 and triggering the reinstall of the interpreter again (KeyHelp uses this file on Debian, to determine the OS version).
Super! :D :D
After just changing the debian version from 12.7 to 13.5 in /etc/debian_version as you suggested and running the keyhelp upgrade script again via

Code: Select all

sudo wget https://install.keyhelp.de/scripts/upgrade_operating_system.sh -O upgrade_operating_system.sh && bash upgrade_operating_system.sh
> Update PHP...
> Update PHP mods...
> Update PHP-FPM...

and intl extension has finally been loaded for all additional php interpreters :!:

Code: Select all

/opt/keyhelp/php/7.4/bin/php -m | grep intl | wc -l
1
Running the Debian 12 to 13 keyhelp script once more, also fixed an issue with Dovecot :D

Thanks for your skillful feedback, Alexander :!:
You are a life saver. Much more helpful than Claude :lol:
User avatar
Tobi
Community Moderator
Posts: 3685
Joined: Thu 5. Jan 2017, 13:24

Re: php extension intl not loaded for additional php interpreters

Post by Tobi »

Claude learned from Alexander and calls him „Dad“.
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Post Reply