CentOS“-bash:a2enmod:未找到命令”

CentOS“-bash:a2enmod:未找到命令”

当我配置pnp4nagios时,出现了以下问题。

PHP GD 扩展→ PHP GD 扩展不可用

PHP zlib 扩展→ PHP zlib 扩展不可用

PHP 套接字扩展→PHP 套接字扩展不可用

Apache 重写模块→Apache mod_rewrite 未启用

谷歌告诉我,我的 php 可能在安装过​​程中损坏了。此外,我还看到了这个页面在 Ubuntu 上启用 mod 重写

但我的服务器是CentOS,执行“a2enmod rewrite”命令,结果是“-bash: a2enmod: command not found”……

我能做什么?谢谢。

答案1

a2enmod 是 debian 版本,在 CentOS 上你需要手动执行此操作。请参阅Apache 文档了解如何做到这一点。

答案2

PHP zlib 和 sockets 是 php-common 的一部分。安装 php-gd 和 php-common

yum install php php-gd php-common

要启用套接字,请找到 PHP 配置目录并在终端中运行以下命令

./configure --enable-sockets
make && make install

Apache 重写模块允许 URL 重写。它在 Centos 7 中默认启用。检查它是否已在您的版本中启用。以下命令输出当前启用的 Apache 模块列表:

httpd -M

如果尚未启用,则需要通过修改配置文件来启用它

sudo nano /etc/httpd/conf.modules.d/00-base.conf

并添加以下行

LoadModule rewrite_module modules/mod_rewrite.so

保存文件并重新启动 Apache 服务器

sudo systemctl restart httpd

答案3

大部分所需模块已安装。您可以通过以下方式检查已安装的模块:
httpd -M | grep modname

如果未加载这些,则可能需要在类似的 conf 文件中激活它们:LoadModule rewrite_module modules/mod_rewrite.so

如果您有需要添加的模块,通常可以通过以下方式安装:
dnf install modname

相关内容