将 PHP 从 8.1 降级到 7.1 后的"PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/2016



我们有一个要求,需要在Ubuntu 18服务器中将PHP从8.1降级到7.1。

sudo update-alternatives --set php /usr/bin/php7.1

降级后,每次检查php -v时,我们都会看到PHP启动错误

以下是确切的错误文本:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/propro.so' - /usr/lib/php/20160303/propro.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/raphf.so' - /usr/lib/php/20160303/raphf.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/http.so' - /usr/lib/php/20160303/http.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 7.1.33-47+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jun 27 2022 08:15:45) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.33-47+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

当我检查时,在上述目录中确实找不到丢失的库。

/usr/lib/php/20160303

我们已经尝试按照其他论坛的建议重新安装,但出现了相同的错误。

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

它对他们有效,但对我们无效。

我希望我能在这里得到帮助。提前谢谢。

顺便说一句,我不是Linux和PHP的开发人员。刚刚开始进入。

--reinstall只会重新安装已安装的东西,但看起来您实际上删除了许多模块。proproraphfhttp模块不是标准模块,默认情况下不安装。如果你实际上并不需要/使用它们,你可以禁用它们,这样它们就不会试图加载:

phpdismod propro raphf http

然而,如果你的应用程序需要这些模块,你需要明确添加它们:

apt install php7.1-propro php7.1-raphf php7.1-http

最新更新