无法加载动态库“/usr/lib/php/20151012/xsl.so”

无法加载动态库“/usr/lib/php/20151012/xsl.so”

几天前,我使用 进行了常规更新apt-get update; apt-get upgrade。一切运行正常,但后来我意识到 php 在我的服务器上玩了一些花招。

我开始收到以下错误消息

`Unable to load dynamic library '/usr/lib/php/20151012/xsl.so' - 
/usr/lib/php/20151012/xsl.so: cannot open shared object file: No such file or directory`

我还收到了 XML 错误消息,但经过几次安装后问题就解决了。出于某种原因,提到的库文件不存在。

我在 Ubuntu 14.04 服务器(最新)上使用 php7,当然它有时会安装 php5.6 的东西。

我谷歌了一下,发现我应该安装php-xmlphp-xsl库。我这样做了,我甚至为 php5.6、7.0、7.1 和 7.2 安装了它,使用:

apt-get install php-xsl php5.6-xsl php7.0-xsl php7.1-xsl php7.2-xsl

我这样做了,之后我使用了sudo /etc/init.d/php7.0-fpm restart并且service apache2 restart没有出现任何错误,但是当我打开我的网站时仍然出现 XSL 错误。

当我phpinfo()解析其他 .ini 文件部分我得到了这个:/etc/php/7.0/apache2/conf.d/20-xsl.ini这是的别名,/etc/php/7.0/mods-available/xsl.ini并且在该文档里面我有这个:

; configuration for php xml module
; priority=20
extension=xsl.so

问题是,这个错误消息有时会出现在 Ajax 请求中,从而破坏其结果,这很烦人。有什么办法可以解决这个问题吗?

答案1

对我来说,解决这个问题的唯一方法是使用以下方法彻底删除所有 php 版本

sudo apt-get purge php
sudo apt-get purge php7.0
sudo apt-get purge php7.1
sudo apt-get purge php7.2

之后我必须再次安装它,包括我正在使用的所有扩展。

之后,我必须禁用当前启用的 php5.6 sudo a2dismod php5,然后使用启用 php7 sudo a2enmod php7.0

之后,我重新启动了服务器,sudo service apache2 restart并逐渐启用我需要的某些 php 模块。

相关内容