对于如何修复这个问题,我有点卡住了。我做了一个发行版升级了一个运行Apache2的服务器。
自从升级以来,它一直不起作用。我运行了一个配置测试,下面是错误。我在以前版本的Ubuntu(21. 10)上的配置没有问题
$ apache2ctl configtest
apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php8.0.load: Cannot load /usr/lib/apache2/modules/libphp8.0.so into server: /usr/lib/apache2/modules/libphp8.0.so: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
有什么想法从哪里开始吗?我仍然相当缺乏经验,当谈到Apache。
谢谢你的帮助。
5条答案
按热度按时间bt1cpqcv1#
当你想通了这一点,其他人会来(像我一样)看看你是如何做到这一点。
也许您正在使用
mod_userdir
,并且还需要更新apache php模块配置文件:/etc/apache2/mods-enabled/php8.1.conf
通过注解掉以下行:
所以他们看起来像这样:
第一次
你做过类似的事吗?
pengsaosao2#
别管其他人了。我知道了。
我检查了/usr/lib/apache 2/modules/,发现libphp8.0.so已经更新为libphp8.1.so。
在修改mods-enabled以包括这个文件而不是有问题的文件之后,apache启动时没有任何问题。
vu8f3i0k3#
在我的例子中,我升级了
Ubuntu 20.04 to 22.04
。所以向导卸载了php7.4
模块,并安装了php8.1
模块。之后,我试图重新启动apache 2,但它没有。我意识到在我的/etc/apache 2/mods-enabled文件夹中,我仍然有php7.4.conf
和php7.4.load
,php7.4.load
仍然指向libphp7.4.so
。记住mods-enabled文件夹是从mods-available文件夹生成的,所以你永远不要改变mods-enabled文件夹。相反,你应该禁用php7.4模块:
和启用php8.1模块:
当然,在启用php8.1模块之后,您必须重新启动apache 2服务。
pexxcrt24#
和重命名:
至:
vpfxa7rd5#
操作 系统 升级 到 Ubuntu 22 会 将 已 安装 的 php 7.x 更新 到 php8.x , 但 不会 修复 Apache2 配置
php7.4 中 的 一 个
sudo a2enmod php8.1 的 开发 过程
php7.4 - fpm 中 的 一 个 参数
php8.1 - fpm 中 的 一 个 或 多 个
sudo systemctl 重新 加载 apache2