在 Mac OS X 10.5 上,我下载了最新版本的 Apache 2.2.9。在通常的配置、制作、安装之后,我有了一个没有 mod_rewrite 的 apache 版本。这不是静态链接的,并且模块也没有构建在 /modules 文件夹中。

我必须执行以下操作来构建 Apache 和 mod_rewrite:

./configure --prefix=/usr/local/apache2 --enable-rewrite=shared
  • 有没有办法告诉 Apache 将所有模块构建为共享模块 (DSO),以便我可以控制从 Apache 配置加载?
  • 现在我已经构建了 Apache 和 mod_rewrite DSO,如何在不构建所有 Apache 的情况下构建另一个共享模块?

(上次我在 Solaris 上构建 Apache (2.2.8) 时,默认情况下它将所有内容构建为共享模块。)

有帮助吗?

解决方案

尝试一下 ./configure 选项 --enable-mods-shared="all", , 或者 --enable-mods-shared="<list of modules>" 将模块编译为共享对象。查看更多 Apache 2.2 文档中的详细信息

要仅编译 Apache 使其能够加载共享对象(并稍后添加模块),请使用 --enable-so, ,然后查阅有关单独编译模块的文档 阿帕奇2.2。DSO 文档.

其他提示

./configure --prefix=/usr/local/apache2 --enable-mods-shared="all" --enable-proxy=shared

为了获得重写、代理和一堆其他模块,我使用了上面的命令。在我之前的安装中,使用 --enable-mods-shared="all" 也编译/安装了代理模块。但在 v2.2.22 “all”不包括代理模块。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top