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

时间:2017-07-16 19:38:23

标签: php zend-framework

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

  

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

     

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

     

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

     

版权所有(c)1997-2017 PHP小组   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

6 个答案:

答案 0 :(得分:61)

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

您只需输入此命令即可执行此操作:

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

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

答案 1 :(得分: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/

答案 2 :(得分:3)

我在linux更新后发现xml几乎同样的问题(和PHP 7.0 - > 7.1一起)。

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

sudo apt install php7.1-xml

答案 3 :(得分:0)

我遇到了同样的错误。据报道丢失的文件存在,文件权限对我来说没问题,PHP是使用正确的用户和组执行的。

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

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

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

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

  2. 检查PHP是否被删除:

    php -v
    

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

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

    sudo apt-get install php7.1 php7.1-xml php7.1-fpm php7.1-json
    

答案 4 :(得分:0)

尽管这不是直接的解决方案,但希望至少可以节省一个人的宝贵时间。

打开您的php.ini文件。

就我而言

我的cli ini位于/etc/php/7.4/cli/php.ini

和位于/etc/php/7.4/apache2/php.ini中的另一个

搜索 extension = xsl 对此行添加注释 //放置';'在行的最前面

保存并退出编辑器,即可完成。

答案 5 :(得分:-1)

在我的情况下,一些php包没有升级,所以我只需要执行dist-upgrade:

sudo apt-get dist-upgrade