このコマンドを実行するとphp -v
このエラーが発生します:
PHP警告:PHPスタートアップ:動的ライブラリ '/usr/lib/php/20160303/dom.so'をロードできません-/usr/lib/php/20160303/dom.so:未定義シンボル:0行目のUnknownのphp_libxml_node_free_list
PHP警告:PHPスタートアップ:動的ライブラリ '/usr/lib/php/20160303/xmlreader.so'をロードできません-/usr/lib/php/20160303/xmlreader.so:未定義シンボル:0行目のUnknownのdom_node_class_entry
PHP警告:PHPスタートアップ:動的ライブラリ '/usr/lib/php/20160303/xsl.so'をロードできません-/usr/lib/php/20160303/xsl.so:未定義シンボル:0行目のUnknownのdom_node_class_entry
PHP 7.1.5-1 + deb.sury.org〜trusty + 2(cli)(built:May 22 2017 13:39:01)(NTS)Copyright(c)1997-2017 The PHP Group Zend Engine v3.1.0、Copyright(c)1998-2017 Zend Technologies with Zend OPcache v7.1.7-1 + ubuntu14.04.1 + deb.sury .org + 1、著作権(c)1999-2017、Zend Technologies
安全な解決策は、php7関連のパッケージをすべて再インストールすることです。
次のコマンドをコンソールに入力するだけで実行できます。
Sudo apt-get install --reinstall `dpkg -l | grep 'ii php7' | awk '{ printf($2" "); next}'`
このソリューションは、構成を変更せずに維持します
(ubuntu 14.04以降)
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
参照:
https://gnh1201.wordpress.com/2017/07/24/php-7-0-undefined-symbol-php_libxml_node_free_list/
Linuxの更新後、xmlでほぼ同じ問題が見つかりました(およびPHP 7.0-> 7.1を使用))。
私にとっての解決策は非常に簡単でした:
Sudo apt install php7.1-xml
同じエラーが発生しました。報告された欠落ファイルが存在し、ファイルのパーミッションは私には問題ないと思われ、PHPは正しいユーザーとグループを使用して実行されました。
私にとっては、すべてのPHPパッケージを削除し、新たに開始するのに役立ちました。
次のコマンドは、Debian/Ubuntuシステムでremove all PHP packages)(PHP configを含む-前にバックアップを作成):
Sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
PHPが削除されたかどうかを確認します。
php -v
これにより、「command not found:php」のようなものが返されます。
次に、PHP=を再度インストールします。例:
Sudo apt-get install php7.1 php7.1-xml php7.1-fpm php7.1-json