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

lia*_*tao 4 php centos apache-2.2

当我配置 pnp4nagios 时,发生了以下问题。

PHP GD 扩展?PHP GD 扩展不可用

PHP zlib 扩展?PHP zlib 扩展不可用

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

Apache 重写模块?Apache mod_rewrite 未启用

谷歌告诉我也许我的 php 在安装过程中坏了。另外,我得到了这个页面启用-mod-rewrite-on-ubuntu

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

我能做什么?谢谢。

Den*_*ker 21

a2enmod 是一个 debianism,在 CentOS 上你需要手动完成。请参阅Apache 文档以了解如何执行此操作。

  • “debianism”是我欣赏的一个词,来自 Ubuntu。 (10认同)
  • 当您自动设置时,这种“手动”并没有让生活更轻松 (3认同)
  • CentOS团队太傲慢了:( (3认同)
  • @Dennis RTFM 说了这么多。甚至链接也指向文档首页:D (2认同)
  • ubuntu 中的 apache 管理要好得多,希望看到 centos 的人也这样做 (2认同)

sri*_*iah 6

PHP zlib 和套接字是 php-common 的一部分。安装 php-gd 和 php-common

yum install php php-gd php-common
Run Code Online (Sandbox Code Playgroud)

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

./configure --enable-sockets
make && make install
Run Code Online (Sandbox Code Playgroud)

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

httpd -M
Run Code Online (Sandbox Code Playgroud)

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

sudo nano /etc/httpd/conf.modules.d/00-base.conf
Run Code Online (Sandbox Code Playgroud)

并包括以下行

LoadModule rewrite_module modules/mod_rewrite.so
Run Code Online (Sandbox Code Playgroud)

保存文件并重启Apache服务器

sudo systemctl restart httpd
Run Code Online (Sandbox Code Playgroud)