![Apache 使用 php73 时“无法找到 API 模块结构”](https://linux22.com/image/767018/Apache%20%E4%BD%BF%E7%94%A8%20php73%20%E6%97%B6%E2%80%9C%E6%97%A0%E6%B3%95%E6%89%BE%E5%88%B0%20API%20%E6%A8%A1%E5%9D%97%E7%BB%93%E6%9E%84%E2%80%9D.png)
我是新手。我当时正在 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_module
,php7_module
它就好了!
LoadModule php7_module modules/libphp73.so