你好,我想在 apache2 上运行我的 php 应用程序服务器,但是当我尝试下载 apache2 时,就像这个网站上说的那样https://www.digitalocean.com/community/tutorials/how-to-install-lamp-stack-on-ubuntu我收到以下错误消息。有人能帮我吗?我在网上查了一下,觉得可能是我的 php 版本有问题,因为很多人都遇到了这个问题,但我的 php 版本是 8.1.2。所以我认为这不是问题所在,
apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 2 of /etc/apache2/mods-enabled/access_compat.load: Cannot load /usr/lib/apache2/modules/mod_access_compat.so into server: /usr/lib/apache2/modules/mod_access_compat.so: cannot open shared object file: No such file or directory
apr 12 17:13:03 kemal-server apachectl[30890]: Action 'start' failed.
在我的 apache2.conf 中,我收到此代码行的错误消息:IncludeOptional mods-enabled/*.load
当我转到以下路径时:etc/apache2/mods-enabled/access_compat.load
。该文件包含以下内容:
Depends: authn_core LoadModule access_compat_module /usr/lib/apache2/modules/mod_access_compat.so
所以我去检查了文件是否存在,结果确实存在,现在我无法读取它,因为我认为 .so 是一个二进制文件,所以我不知道该怎么做。我尝试重新安装 apach2,也尝试重新安装 lib,但没有成功
编辑:我尝试这样做sudo apt-get install --reinstall apache2 apache2-bin
,但现在我收到错误
apr 12 18:14:07 kemal-server systemd[1]: Starting The Apache HTTP Server...
apr 12 18:14:07 kemal-server apachectl[46750]: apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php8.1.load: Cannot load /usr/lib/apache2/modules/libphp8.1.so into server: /usr/lib/apache2/modules/libphp8.1.so: cannot open shared object file: N>
apr 12 18:14:07 kemal-server apachectl[46747]: Action 'start' failed.
apr 12 18:14:07 kemal-server apachectl[46747]: The Apache error log may have more information.
apr 12 18:14:07 kemal-server systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
apr 12 18:14:07 kemal-server systemd[1]: apache2.service: Failed with result 'exit-code'.
apr 12 18:14:07 kemal-server systemd[1]: Failed to start The Apache HTTP Server.
答案1
看起来安装搞砸了。尝试再次安装 MySQL MariaDB 依赖项并启用 apache php 模块:
sudo apt install php libapache2-mod-php php-mysql
sudo a2enmod php8.1
sudo systemctl restart apache2