1

我正在为我的实习编写一个 Apache 模块。我为此使用 C(我不太熟悉 Perl 或 Python)。

我需要使用 HTML 解析器来解决我正在编写这个模块的问题。为此,我正在考虑使用 libxml2。

我很困惑我应该如何在我的模块中链接库?我应该在编译模块时链接库还是应该在配置文件中使用 LoadFile 指令来加载库。

我主要担心的是,虽然我在 Ubuntu 上开发它,但我不知道部署服务器上运行的操作系统是什么。所以我希望它的部署、复杂性和成功。

编辑:@Grim:感谢您的回复:)

我使用以下命令编译了模块:

apxs -I /usr/include/libxml2/ -c mod_xmltest.c

sudo apxs -n xmltest_module -i mod_xmltest.la

我相信这不会链接模块中的库,我在启动服务器时收到“未解析的符号”错误,所以我使用 LoadFile 指令加载 libxml2 库。它似乎工作。

你认为这样会有什么问题吗?我认为这使我的模块更具可移植性,因为在部署服务器上,管理员可以明确指定 libxml2 库的位置。

4

1 回答 1

1

您应该在编译模块时链接库。

当然存在通常的可移植性问题(至少对于非 posix 操作系统而言)。在这种情况下,其中一些由apxc解决。不可能说可能会发生哪些并发症,但您所描述的任何事情都不会导致任何并发症。

于 2010-06-19T15:07:00.243 回答