PHP警告:PHP启动:无法加载动态库

Sco*_*ang 10 php zend-framework

当我运行此命令时出现php -v
此错误:

PHP警告:PHP启动:无法加载动态库'/usr/lib/php/20160303/dom.so' - /usr/lib/php/20160303/dom.so:未定义符号:php_libxml_node_free_list in Unknown in line 0

PHP警告:PHP启动:无法加载动态库'/usr/lib/php/20160303/xmlreader.so' - /usr/lib/php/20160303/xmlreader.so:未定义符号:dom_node_class_entry在第0行的未知

PHP警告:PHP启动:无法加载动态库'/usr/lib/php/20160303/xsl.so' - /usr/lib/php/20160303/xsl.so:未定义符号:dom_node_class_entry in Unknown on line 0
PHP 7.1 .5-1 + deb.sury.org~trusty + 2(cli)(建于2017年5月22日13:39:01)(NTS)

版权所有(c)1997-2017 PHP Group Zend Engine v3.1.0,版权所有(c)1998-2017 Zend Technologies与Zend OPcache v7.1.7-1 + ubuntu14.04.1 + deb.sury.org + 1,版权所有(c) 1999至2017年,Zend Technologies

Fii*_*iil 61

安全的解决方案是重新安装所有与php7相关的软件包.

只需在控制台中输入以下命令即可完成此操作:

sudo apt-get install --reinstall `dpkg -l | grep 'ii  php7' | awk '{ printf($2" "); next}'`
Run Code Online (Sandbox Code Playgroud)

此解决方案将保持您的配置不变


Go *_*eon 8

(在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/


小智 5

在 linux 更新(以及 PHP 7.0 -> 7.1 之后),我发现 xml 几乎相同的问题。

对我来说,解决方案非常简单:

sudo apt install php7.1-xml
Run Code Online (Sandbox Code Playgroud)


Ica*_*rus 0

我也经历过同样的错误。据报告丢失的文件存在,文件权限对我来说看起来没问题,并且 PHP 是使用正确的用户和组执行的。

对我来说,删除所有 PHP 软件包并重新开始很有帮助。

  1. 以下命令应删除Debian/Ubuntu 系统上的所有 PHP 软件包(包括 PHP 配置- 之前进行备份):

    sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
    
    Run Code Online (Sandbox Code Playgroud)

    来源: https: //askubuntu.com/a/187278

  2. 检查 PHP 是否被删除:

    php -v
    
    Run Code Online (Sandbox Code Playgroud)

    这应该返回类似“未找到命令:php”的内容。

  3. 然后,再次安装 PHP,例如:

    sudo apt-get install php7.1 php7.1-xml php7.1-fpm php7.1-json
    
    Run Code Online (Sandbox Code Playgroud)