问题 Apache - 如何将单个和/或所有模块构建为共享模块


在Mac OS X 10.5上,我下载了最新版本的Apache 2.2.9。在通常配置之后,make,make install dance我有一个没有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),默认情况下它将所有内容都构建为共享模块。)


3202
2017-08-31 20:18


起源



答案:


试试吧 ./configure 选项 --enable-mods-shared="all", 要么 --enable-mods-shared="<list of modules>" 将模块编译为共享对象。进一步了解 Apache 2.2文档中的详细信息

要仅使用加载共享对象(以及稍后添加模块)的能力编译Apache,请使用 --enable-so,然后单独参考有关编译模块的文档 Apache 2.2。 DSO文档


13
2017-08-31 21:14



“所有”并不是真正的意思!你应该使用./configure --with-ldap --enable-mods-shared =“all ssl ldap cache proxy authn_alias mem_cache file_cache authnz_ldap charset_lite dav_lock disk_cache”。 - duleshi


答案:


试试吧 ./configure 选项 --enable-mods-shared="all", 要么 --enable-mods-shared="<list of modules>" 将模块编译为共享对象。进一步了解 Apache 2.2文档中的详细信息

要仅使用加载共享对象(以及稍后添加模块)的能力编译Apache,请使用 --enable-so,然后单独参考有关编译模块的文档 Apache 2.2。 DSO文档


13
2017-08-31 21:14



“所有”并不是真正的意思!你应该使用./configure --with-ldap --enable-mods-shared =“all ssl ldap cache proxy authn_alias mem_cache file_cache authnz_ldap charset_lite dav_lock disk_cache”。 - duleshi


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

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


0
2018-02-01 11:18