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
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
(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/
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
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.
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
Vérifiez si PHP a été supprimé:
php -v
Cela devrait renvoyer quelque chose comme "commande introuvable: php".
Ensuite, installez à nouveau PHP, par exemple:
Sudo apt-get install php7.1 php7.1-xml php7.1-fpm php7.1-json