Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/06/2020, à 08:58

dleclere

erreur sur "load dynamic library" sur php 7.4

Bonjour,
J'ai un problème lors du lancement d'exec php, voici les informations :

PHP Warning:  PHP Startup: Unable to load dynamic library 'readline.so' (tried: /usr/lib/php/20190902/readline.so (/usr/lib/php/20190902/readline.so: undefined symbol: history_list), /usr/lib/php/20190902/readline.so.so (/usr/lib/php/20190902/readline.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 'sqlite3.so' (tried: /usr/lib/php/20190902/sqlite3.so (/usr/lib/php/20190902/sqlite3.so: undefined symbol: sqlite3_expanded_sql), /usr/lib/php/20190902/sqlite3.so.so (/usr/lib/php/20190902/sqlite3.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
ldd /usr/lib/php/20190902/readline.so :
        linux-vdso.so.1 (0x00007fffdcf6d000)
        libedit.so.2 => /usr/lib/x86_64-linux-gnu/libedit.so.2 (0x00007f8310bc7000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f83109d5000)
        libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f83109a5000)
        libbsd.so.0 => /usr/lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f831098b000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f8310c3b000)
ldd /usr/lib/php/20190902/sqlite3.so
        linux-vdso.so.1 (0x00007ffc1dff5000)
        libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f15ea9db000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f15ea7e9000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f15ea69a000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f15ea677000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f15ea671000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f15eab45000)

Que faut-il faire ???

Merci de votre aide.

Hors ligne

#2 Le 15/06/2020, à 10:13

bruno

Re : erreur sur "load dynamic library" sur php 7.4

Bonjour,

Comment le problème est-il apparu ?
S'agit-il d'une mise à niveau vers Ubuntu 20.04 ? Et si oui existait-il des dépôts non officiels pour PHP ?
Retours de :

apt policy php
apt policy php-readline
apt policy libedit2

#3 Le 15/06/2020, à 11:47

dleclere

Re : erreur sur "load dynamic library" sur php 7.4

Bonjour,

Ces messages sont apparu après une simple mise à jour d'ubuntu.

apt policy php

php:
  Installé : 2:7.4+75
  Candidat : 2:7.4+75
 Table de version :
 *** 2:7.4+75 500
        500 http://fr.archive.ubuntu.com/ubuntu focal/main amd64 Packages
        500 http://fr.archive.ubuntu.com/ubuntu focal/main i386 Packages
        100 /var/lib/dpkg/status

apt policy php-readline

php-readline:
  Installé : 2:7.4+75
  Candidat : 2:7.4+75
 Table de version :
 *** 2:7.4+75 500
        500 http://fr.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        500 http://fr.archive.ubuntu.com/ubuntu focal/universe i386 Packages
        100 /var/lib/dpkg/status

apt policy libedit2

libedit2:
  Installé : 3.1-20191231-1
  Candidat : 3.1-20191231-1
 Table de version :
 *** 3.1-20191231-1 500
        500 http://fr.archive.ubuntu.com/ubuntu focal/main amd64 Packages
        100 /var/lib/dpkg/status

Merci pour votre aide.
Didier

Hors ligne

#4 Le 15/06/2020, à 14:56

bruno

Re : erreur sur "load dynamic library" sur php 7.4

Je pensais que ces paquets n'étaient pas dans leur version officielle mais apparemment ce n'est pas le cas…
Il faudrait voir tous les paquets php installés :

apt list \*php\* --installed

#5 Le 15/06/2020, à 16:44

dleclere

Re : erreur sur "load dynamic library" sur php 7.4

Bonjour,

Voici la réponse :

kdevelop-php-docs-l10n/now 5.2.1-1ubuntu2 all  [installé, local]
kdevelop-php-docs/now 5.2.1-1ubuntu2 all  [installé, local]
kdevelop-php-l10n/focal,focal,now 5.5.0-1 all  [installé, automatique]
kdevelop-php/focal,now 5.5.0-1 amd64  [installé]
libapache2-mod-php7.4/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
libapache2-mod-php/focal,focal,now 2:7.4+75 all  [installé]
libphp-adodb/focal,focal,now 5.20.16-1 all  [installé]
php-apcu-bc/focal,now 1.0.5-2build1 amd64  [installé, automatique]
php-apcu/focal,now 5.1.18+4.0.11-1build1 amd64  [installé]
php-auth-sasl/focal,focal,now 1.0.6-3 all  [installé]
php-bcmath/focal,focal,now 2:7.4+75 all  [installé]
php-bz2/focal,focal,now 2:7.4+75 all  [installé]
php-cgi/focal,focal,now 2:7.4+75 all  [installé]
php-cli/focal,focal,now 2:7.4+75 all  [installé, automatique]
php-common/focal,focal,now 2:75 all  [installé, automatique]
php-curl/focal,focal,now 2:7.4+75 all  [installé]
php-dev/focal,focal,now 2:7.4+75 all  [installé]
php-gd/focal,focal,now 2:7.4+75 all  [installé]
php-imagick/focal,now 3.4.4-4 amd64  [installé]
php-intl/focal,focal,now 2:7.4+75 all  [installé]
php-json/focal,focal,now 2:7.4+75 all  [installé]
php-ldap/focal,focal,now 2:7.4+75 all  [installé]
php-mysql/focal,focal,now 2:7.4+75 all  [installé, automatique]
php-pclzip/focal,focal,now 2.8.2-5 all  [installé]
php-pear/focal,focal,now 1:1.10.9+submodules+notgz-1 all  [installé, automatique]
php-pgsql/focal,focal,now 2:7.4+75 all  [installé]
php-phpseclib/focal,focal,now 2.0.23-2 all  [installé]
php-readline/focal,focal,now 2:7.4+75 all  [installé]
php-seclib/focal,focal,now 1.0.18-2 all  [installé]
php-soap/focal,focal,now 2:7.4+75 all  [installé]
php-sqlite3/focal,focal,now 2:7.4+75 all  [installé]
php-tcpdf/focal,focal,now 6.3.5+dfsg1-1 all  [installé]
php-tidy/focal,focal,now 2:7.4+75 all  [installé]
php-xml/focal,focal,now 2:7.4+75 all  [installé, automatique]
php-xmlrpc/focal,focal,now 2:7.4+75 all  [installé]
php-zip/focal,focal,now 2:7.4+75 all  [installé]
php7.4-bcmath/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-bz2/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-cgi/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-cli/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-common/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-curl/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-dev/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-gd/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-intl/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-json/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-ldap/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-mysql/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-opcache/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-pgsql/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-phpdbg/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-readline/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-soap/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-sqlite3/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-tidy/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-xml/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-xmlrpc/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4-zip/focal-updates,focal-security,now 7.4.3-4ubuntu2.2 amd64  [installé, automatique]
php7.4/focal-updates,focal-updates,focal-security,focal-security,now 7.4.3-4ubuntu2.2 all  [installé, automatique]
php/focal,focal,now 2:7.4+75 all  [installé]
pkg-php-tools/focal,focal,now 1.38 all  [installé, automatique]

Hors ligne

#6 Le 15/06/2020, à 16:56

bruno

Re : erreur sur "load dynamic library" sur php 7.4

Je ne vois aucun paquet anormal, c'est déjà ça.
On va vérifier la liste des modules php activés :

ls -l /etc/php/7.4/apache2/conf.d/

Est-ce qu tu peux préciser comment et à quel moment apparaît l'avertissement indiqué dans le premier message ?

#7 Le 15/06/2020, à 17:07

dleclere

Re : erreur sur "load dynamic library" sur php 7.4

Bonjour,

Le message apparaît lorsque je lance un script php.

lrwxrwxrwx 1 root root 39 mai   15 02:31 10-mysqlnd.ini -> /etc/php/7.4/mods-available/mysqlnd.ini
lrwxrwxrwx 1 root root 39 mai   15 02:32 10-opcache.ini -> /etc/php/7.4/mods-available/opcache.ini
lrwxrwxrwx 1 root root 35 mai   15 02:31 10-pdo.ini -> /etc/php/7.4/mods-available/pdo.ini
lrwxrwxrwx 1 root root 35 mai   15 02:40 15-xml.ini -> /etc/php/7.4/mods-available/xml.ini
lrwxrwxrwx 1 root root 36 mai   15 02:35 20-apcu.ini -> /etc/php/7.4/mods-available/apcu.ini
lrwxrwxrwx 1 root root 38 mai   15 02:32 20-bcmath.ini -> /etc/php/7.4/mods-available/bcmath.ini
lrwxrwxrwx 1 root root 35 mai   15 02:32 20-bz2.ini -> /etc/php/7.4/mods-available/bz2.ini
lrwxrwxrwx 1 root root 40 mai   15 02:31 20-calendar.ini -> /etc/php/7.4/mods-available/calendar.ini
lrwxrwxrwx 1 root root 37 mai   15 02:31 20-ctype.ini -> /etc/php/7.4/mods-available/ctype.ini
lrwxrwxrwx 1 root root 36 mai   15 03:01 20-curl.ini -> /etc/php/7.4/mods-available/curl.ini
lrwxrwxrwx 1 root root 35 mai   15 02:40 20-dom.ini -> /etc/php/7.4/mods-available/dom.ini
lrwxrwxrwx 1 root root 36 mai   15 02:31 20-exif.ini -> /etc/php/7.4/mods-available/exif.ini
lrwxrwxrwx 1 root root 35 mai   15 02:31 20-ffi.ini -> /etc/php/7.4/mods-available/ffi.ini
lrwxrwxrwx 1 root root 40 mai   15 02:31 20-fileinfo.ini -> /etc/php/7.4/mods-available/fileinfo.ini
lrwxrwxrwx 1 root root 35 mai   15 02:31 20-ftp.ini -> /etc/php/7.4/mods-available/ftp.ini
lrwxrwxrwx 1 root root 34 mai   15 02:58 20-gd.ini -> /etc/php/7.4/mods-available/gd.ini
lrwxrwxrwx 1 root root 39 mai   15 02:31 20-gettext.ini -> /etc/php/7.4/mods-available/gettext.ini
lrwxrwxrwx 1 root root 37 mai   15 02:31 20-iconv.ini -> /etc/php/7.4/mods-available/iconv.ini
lrwxrwxrwx 1 root root 39 mai   15 02:57 20-imagick.ini -> /etc/php/7.4/mods-available/imagick.ini
lrwxrwxrwx 1 root root 36 mai   15 02:32 20-intl.ini -> /etc/php/7.4/mods-available/intl.ini
lrwxrwxrwx 1 root root 36 mai   15 02:34 20-json.ini -> /etc/php/7.4/mods-available/json.ini
lrwxrwxrwx 1 root root 36 mai   15 03:01 20-ldap.ini -> /etc/php/7.4/mods-available/ldap.ini
lrwxrwxrwx 1 root root 38 mai   15 02:31 20-mysqli.ini -> /etc/php/7.4/mods-available/mysqli.ini
lrwxrwxrwx 1 root root 41 mai   15 02:31 20-pdo_mysql.ini -> /etc/php/7.4/mods-available/pdo_mysql.ini
lrwxrwxrwx 1 root root 41 mai   15 03:02 20-pdo_pgsql.ini -> /etc/php/7.4/mods-available/pdo_pgsql.ini
lrwxrwxrwx 1 root root 42 mai   15 02:34 20-pdo_sqlite.ini -> /etc/php/7.4/mods-available/pdo_sqlite.ini
lrwxrwxrwx 1 root root 37 mai   15 03:02 20-pgsql.ini -> /etc/php/7.4/mods-available/pgsql.ini
lrwxrwxrwx 1 root root 36 mai   15 02:31 20-phar.ini -> /etc/php/7.4/mods-available/phar.ini
lrwxrwxrwx 1 root root 37 mai   15 02:31 20-posix.ini -> /etc/php/7.4/mods-available/posix.ini
lrwxrwxrwx 1 root root 40 mai   15 02:32 20-readline.ini -> /etc/php/7.4/mods-available/readline.ini
lrwxrwxrwx 1 root root 37 mai   15 02:31 20-shmop.ini -> /etc/php/7.4/mods-available/shmop.ini
lrwxrwxrwx 1 root root 41 mai   15 02:40 20-simplexml.ini -> /etc/php/7.4/mods-available/simplexml.ini
lrwxrwxrwx 1 root root 36 mai   15 02:36 20-soap.ini -> /etc/php/7.4/mods-available/soap.ini
lrwxrwxrwx 1 root root 39 mai   15 02:31 20-sockets.ini -> /etc/php/7.4/mods-available/sockets.ini
lrwxrwxrwx 1 root root 39 mai   15 02:34 20-sqlite3.ini -> /etc/php/7.4/mods-available/sqlite3.ini
lrwxrwxrwx 1 root root 39 mai   15 02:31 20-sysvmsg.ini -> /etc/php/7.4/mods-available/sysvmsg.ini
lrwxrwxrwx 1 root root 39 mai   15 02:31 20-sysvsem.ini -> /etc/php/7.4/mods-available/sysvsem.ini
lrwxrwxrwx 1 root root 39 mai   15 02:31 20-sysvshm.ini -> /etc/php/7.4/mods-available/sysvshm.ini
lrwxrwxrwx 1 root root 36 mai   15 02:34 20-tidy.ini -> /etc/php/7.4/mods-available/tidy.ini
lrwxrwxrwx 1 root root 41 mai   15 02:31 20-tokenizer.ini -> /etc/php/7.4/mods-available/tokenizer.ini
lrwxrwxrwx 1 root root 41 mai   15 02:40 20-xmlreader.ini -> /etc/php/7.4/mods-available/xmlreader.ini
lrwxrwxrwx 1 root root 38 mai   15 02:31 20-xmlrpc.ini -> /etc/php/7.4/mods-available/xmlrpc.ini
lrwxrwxrwx 1 root root 41 mai   15 02:40 20-xmlwriter.ini -> /etc/php/7.4/mods-available/xmlwriter.ini
lrwxrwxrwx 1 root root 35 mai   15 02:40 20-xsl.ini -> /etc/php/7.4/mods-available/xsl.ini
lrwxrwxrwx 1 root root 35 mai   15 02:32 20-zip.ini -> /etc/php/7.4/mods-available/zip.ini
lrwxrwxrwx 1 root root 39 mai   15 02:40 25-apcu_bc.ini -> /etc/php/7.4/mods-available/apcu_bc.ini

Hors ligne

#8 Le 15/06/2020, à 18:45

bruno

Re : erreur sur "load dynamic library" sur php 7.4

Les avertissements pourraient provenir du script lui même. Cependant ceci :

PHP Warning:  PHP Startup: Unable to load dynamic library

suggère soit une erreur dans le fichier php.ini, soit dans la gestion des modules.

Pour le second point cela semble correct, les deux modules readline et sqlite3 semblent bien présents et activés.

Ces avertissements peuvent aussi apparaître si ces modules ont été explicitement chargés dans le fichier php.ini, voir pour cela le retour de :

grep extension /etc/php/7.4/apache2/php.ini

#9 Le 16/06/2020, à 07:18

dleclere

Re : erreur sur "load dynamic library" sur php 7.4

Bonjour,

Merci beaucoup du temps passé sur ce problème.
Il n'y a plus de modules chargés dans le fichier init.
Dés que j'aurai le temps, je vais faire un strace sur le script pour voir comment arrive les warnings.

Voici le résultat de votre demande :

; Directives are variables used to configure PHP or PHP extensions.
; dynamically loaded extension (either a PHP extension or a Zend extension),
; you may only use these constants *after* the line that loads the extension.
; encodings.  To use this feature, mbstring extension must be enabled.
; leading '/'. You must also specify the file extension being used including
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
;extension_dir = "ext"
; If you wish to have an extension loaded automatically, use the following
;   extension=modulename
;   extension=mysqli
; When the extension library to load is not located in the default extension
;   extension=/path/to/extension/mysqli.so
; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and
; 'extension='php_<ext>.dll') is supported for legacy reasons and may be
; move to the new ('extension=<ext>) syntax.
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
;   extension folders as well as the separate PECL DLL download (PHP 5+).
;   Be sure to appropriately set the extension_dir directive.
;extension=bz2
;extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop
;extension=snmp
;extension=soap
;extension=sockets
;extension=sodium
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl
; Directory pointing to SQLite3 extensions
; http://php.net/sqlite3.extension-dir
;sqlite3.extension_dir =
; Records communication from all extensions using mysqlnd to the specified log
; Sets the directory name where SOAP extension will put cache files.

Hors ligne

#10 Le 16/06/2020, à 14:20

bruno

Re : erreur sur "load dynamic library" sur php 7.4

A priori pas de problèmes dans la configuration de PHP, reste à voir le script en question.