ubuntu 21.10 中的 php7.4:apache2 无法启动

use*_*424 5 apache2 php-7.4 ubuntu-21.04

我尝试在 ubuntu 21.10 中运行 php7.4 但出现此错误。

apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php7.4.load: Cannot load /usr/lib/apache2/modules/libphp7.4.so into server: /usr/lib/apache2/modules/libphp7.4.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

缺少 libphp7.4.so

我安装了libphp7.4-embed但问题仍然存在。这些文件安装在 /usr/lib/ 中,而不是 /usr/lib/apache2/modules/ 中。符号链接没有帮助(undefined symbol: php7_module)。

如何让php7.4在ubuntu 21.10中运行?

我尝试一些命令

$ sudo a2enconf php7.4-fpm

Conf php7.4-fpm already enabled
$ sudo a2enmod php7.4-fpm

ERROR: Module php7.4-fpm does not exist!
Run Code Online (Sandbox Code Playgroud)

cde*_*aan 9

OP 和 @Andrew 都拼凑出了一个很好的解决方案,但由于我必须这样做,所以让我把它们放在一起,并进行一些额外的澄清步骤。

第一:您现在/将使用什么版本的 PHP?

php -v
Run Code Online (Sandbox Code Playgroud)

在我的例子中返回PHP 8.1.2如此8.1

接下来,禁用给您带来麻烦的现有 apache2 模块:

sudo a2dismod php7.4
Run Code Online (Sandbox Code Playgroud)

最后,启用您在上面找到的那个:

sudo a2enmod php8.1
Run Code Online (Sandbox Code Playgroud)

重新启动 apache2 就一切就绪了。

sudo systemctl restart apache2
Run Code Online (Sandbox Code Playgroud)


use*_*424 2

经过多次尝试和错误: rm /etc/apache2/mods-enabled/php7.4.load

现在可以了。

(mods-enabled: 中只有一个 php* php7.4.conf。我不知道这是否重要。)