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

PHP警告:PHP启动:无法加载动态库,php,zend-framework,Php,Zend Framework,当我运行这个命令时php-v 出现以下错误: PHP警告:PHP启动:无法加载动态库'/usr/lib/PHP/20160303/dom.so'-/usr/lib/PHP/20160303/dom.so:未定义符号:第0行未知的PHP_libxml_节点_free_列表 PHP警告:PHP启动:无法加载动态库“/usr/lib/PHP/20160303/xmlreader.so”-/usr/lib/PHP/20160303/xmlreader.so:未定义的符号:第0行中未知的dom_节点_类_

当我运行这个命令时
php-v

出现以下错误:

PHP警告:PHP启动:无法加载动态库'/usr/lib/PHP/20160303/dom.so'-/usr/lib/PHP/20160303/dom.so:未定义符号:第0行未知的PHP_libxml_节点_free_列表

PHP警告:PHP启动:无法加载动态库“/usr/lib/PHP/20160303/xmlreader.so”-/usr/lib/PHP/20160303/xmlreader.so:未定义的符号:第0行中未知的dom_节点_类_项

PHP警告:PHP启动:无法加载动态库“/usr/lib/PHP/20160303/xsl.so”-/usr/lib/PHP/20160303/xsl.so:未定义的符号:第0行未知的dom_节点_类_项
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提供


我也经历过同样的错误。据报道丢失的文件存在,文件权限在我看来还行,PHP是使用正确的用户和组执行的

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

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

    资料来源:

  • 检查PHP是否已删除:

    php -v
    
    这应该返回类似于“command not found:php”的内容

  • 然后,再次安装PHP,例如:

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

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

    只需在控制台中输入以下命令即可:

    sudo apt-get install --reinstall `dpkg -l | grep 'ii  php7' | awk '{ printf($2" "); next}'`
    
    此解决方案将保持您的配置不变(在ubuntu 14.04或更高版本中)

    sudo apt get安装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

    参考:


    在我的例子中,一些php软件包没有升级,所以我只需执行dist升级:

    sudo apt-get dist-upgrade
    

    在linux更新(以及PHP7.0->7.1)之后,我发现xml几乎存在同样的问题

    我的解决方案非常简单:

    sudo apt install php7.1-xml
    

    虽然这不是一个直接的解决方案,但希望至少现在它能节省一些人的宝贵时间

    打开php.ini文件。

    就我而言

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

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

    搜索extension=xsl注释此行//放一个“;”在前线


    保存并退出编辑器,您就完成了。

    有人可以帮助我吗?我想错误消息本身就解释了,它无法在它告诉您的位置找到它所期望的动态库。首先要做的是检查它们是否存在,但我不知道如何找到xmlreader.so,@peterFeatherstone路径已提供给您…您的解决方案将删除包配置。请检查我的答案,以便在不删除配置的情况下进行修复。感谢您的评论。根据配置的不同,从一个新的开始可能是一个好主意(或者不是)。不过我添加了一个警告!:)谢天谢地,它对我的ubuntu 14.04有效,但我的mac也有同样的问题……谢谢。它在2015目录下的ubuntu 14.04上运行正常。运行正常!但是,如果我需要将php7替换为php7.1,如果您只想关注7.1版本(您可能安装了7.0和7.1两个软件包…),请不要忘记更改“grep”部分。这对我很有用。在升级到php7.2之后,不知怎的事情就坏了,但这次修复了它。
    sudo apt install php7.1-xml