Apache 使用 php73 时“无法找到 API 模块结构”

Apache 使用 php73 时“无法找到 API 模块结构”

我是新手。我当时正在 Manjaro 上安装一个 LAMP 环境进行测试,尝试使用旧版本来匹配我必须使用的生产环境(PHP 7.3、MySQL 5.6;从 AUR 获取),这时我遇到了死机并被迫硬重启;从那时起,我一直遇到 Apache 的奇怪错误;该服务现在拒绝启动。

当我使用 启动服务时sudo systemctl start httpd,没有收到错误,但是当我sudo systemctl status httpd之后使用 检查其状态时,我看到了以下内容:

● httpd.service - Apache Web Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
     Active: failed (Result: exit-code) since Thu 2021-05-27 09:34:31 CEST; 7s ago
    Process: 82377 ExecStart=/usr/bin/httpd -k start -DFOREGROUND (code=exited, status=1/FAILURE)
   Main PID: 82377 (code=exited, status=1/FAILURE)

mai 27 09:34:31 gregoire-x751lx systemd[1]: Started Apache Web Server.
mai 27 09:34:31 gregoire-x751lx httpd[82377]: httpd: Syntax error on line 190 of /etc/httpd/conf/httpd.conf: Can't locate API module structure `php73_module' in file /etc/httpd/modules/libphp73.so: /etc/httpd/modules/libphp73.so: undefined symbol: php73_module
mai 27 09:34:31 gregoire-x751lx systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
mai 27 09:34:31 gregoire-x751lx systemd[1]: httpd.service: Failed with result 'exit-code'.

httpd.conf 的第 190 行和 191 行:

LoadModule php73_module modules/libphp73.so
AddHandler php73-script .php

libphp73.so存在于正确的位置,直到崩溃之前我都没有遇到此错误,所以我尝试使用 yay 重新安装 php73、php73-apache 和 phpmyadmin 包,认为一定是有什么东西以某种方式更改了该文件。什么也没改变。

请问,我还应该尝试什么?我对 Linux 还很陌生,总体而言在服务器管理方面非常缺乏经验,所以我不确定我应该提供什么其他信息;我会尽力回答所需的一切。

答案1

一位好心的 Reddit 用户解决了我的问题!我改用了php73_modulephp7_module它就好了!

LoadModule php7_module modules/libphp73.so

相关内容