web-dev-qa-db-fra.com

PHP Avertissement: PHP Démarrage: impossible de charger la bibliothèque dynamique

Lorsque j'exécute cette commande php -v
cette erreur apparaît:

Avertissement PHP: PHP Démarrage: impossible de charger la bibliothèque dynamique '/usr/lib/php/20160303/dom.so' - /usr/lib/php/20160303/dom.so: symbole non défini : php_libxml_node_free_list dans Unknown sur la ligne 0

Avertissement PHP: PHP Démarrage: impossible de charger la bibliothèque dynamique '/usr/lib/php/20160303/xmlreader.so' - /usr/lib/php/20160303/xmlreader.so: symbole non défini : dom_node_class_entry dans Unknown sur la ligne 0

Avertissement PHP: PHP Démarrage: impossible de charger la bibliothèque dynamique '/usr/lib/php/20160303/xsl.so' - /usr/lib/php/20160303/xsl.so: symbole non défini : dom_node_class_entry dans Unknown sur la ligne 0
PHP 7.1.5-1 + deb.sury.org ~ trusty + 2 (cli) (construit: 22 mai 2017 13:39:01) (NTS)

Copyright (c) 1997-2017 Le PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies avec Zend OPcache v7.1.7-1 + ubuntu14.04.1 + deb.sury .org + 1, Copyright (c) 1999-2017, par Zend Technologies

10
Scott Wang

La solution sûre consiste à réinstaller tous les packages liés à php7.

Vous pouvez le faire en entrant simplement cette commande sur la console:

Sudo apt-get install --reinstall `dpkg -l | grep 'ii  php7' | awk '{ printf($2" "); next}'`

Cette solution gardera votre configuration inchangée

61
Fiil

(Dans ubuntu 14.04 ou supérieur)

Sudo apt-get install libapache2-mod-php7.0 libphp7.0-embed libssl-dev openssl php7.0-cgi php7.0-cli php7.0-common php7.0-dev php7.0-fpm php7.0- phpdbg

référence:

https://gnh1201.wordpress.com/2017/07/24/php-7-0-undefined-symbol-php_libxml_node_free_list/

8
Go Namhyeon

J'ai trouvé presque le même problème avec xml après la mise à jour linux (et PHP 7.0 -> 7.1 avec).

La solution pour moi était assez simple:

Sudo apt install php7.1-xml
3
Dmitry Sichev

J'ai rencontré les mêmes erreurs. Les fichiers prétendument manquants étaient présents, les autorisations sur les fichiers me semblaient correctes et PHP a été exécuté en utilisant le bon utilisateur et le bon groupe.

Pour moi, cela a aidé à supprimer tous les packages PHP et à prendre un nouveau départ.

  1. La commande suivante devrait supprimer tous les PHP sur les systèmes Debian/Ubuntu ( y compris la configuration PHP - faites une sauvegarde avant):

    Sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
    

    Source: https://askubuntu.com/a/187278

  2. Vérifiez si PHP a été supprimé:

    php -v
    

    Cela devrait renvoyer quelque chose comme "commande introuvable: php".

  3. Ensuite, installez à nouveau PHP, par exemple:

    Sudo apt-get install php7.1 php7.1-xml php7.1-fpm php7.1-json
    
0
Icarus