代码之家  ›  专栏  ›  技术社区  ›  Brian Lyttle

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

  •  11
  • Brian Lyttle  · 技术社区  · 16 年前

    在Mac OS X 10.5上,我下载了最新版本的Apache2.2.9。在完成了通常的配置、制作、安装舞蹈之后,我有了一个没有修改的Apache构建。这不是静态链接的,模块也不是在/modules文件夹中构建的。

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

    ./configure --prefix=/usr/local/apache2 --enable-rewrite=shared
    
    • 有没有一种方法可以告诉Apache将所有模块构建为共享模块(DSO),以便我可以从Apache配置控制加载?
    • 既然我已经构建了Apache,并且mod eu重写了dso,那么如何在不构建所有Apache的情况下构建另一个共享模块呢?

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

    2 回复  |  直到 13 年前
        1
  •  13
  •   Brendan    16 年前

    试试 ./configure 选项 --enable-mods-shared="all" --enable-mods-shared="<list of modules>" 将模块编译为共享对象。进一步看 details in Apache 2.2 docs

    要只编译能够加载共享对象(稍后添加模块)的Apache,请使用 --enable-so ,然后在 Apache 2.2. DSO docs .

        2
  •  0
  •   so_mv    13 年前
    ./configure --prefix=/usr/local/apache2 --enable-mods-shared="all" --enable-proxy=shared
    

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