libapr1-dev
(Apache Portable Runtime - APR):
libapr1-dev
提供了开发这些应用程序所需的头文件。libaprutil1-dev
(Apache Portable Runtime Utility - APR-util):
apache2-dev
(Apache HTTP Server Development Headers):
apxs2
工具。 apxs2
是一个用于编译和安装 Apache 模块的命令行工具。 [6]mod_foo.so
),你需要 apache2-dev
来获取 Apache 内部的函数定义和结构。apache2-dev
本身就依赖于 libapr1-dev
和 libaprutil1-dev
,因为 Apache HTTP Server 自身就是基于 APR 和 APR-util 构建的。 [6] 这意味着安装 apache2-dev
通常也会自动安装或要求安装 libapr1-dev
和 libaprutil1-dev
。 [7]libapreq2-dev
(Generic Apache Request Library):
application/x-www-form-urlencoded
、multipart/form-data
数据和 HTTP cookies。 [8][9]libapreq2
的版本 2 是围绕 APR 和 Apache 2 的输入过滤器 API 设计的。它的 C 语言代码库是基于 libapr
和 libaprutil
的。 [4][8]libapreq2-dev
依赖于 apache2-dev
、libapr1-dev
和 libaprutil1-dev
,因为它需要 Apache 的开发环境以及 APR 和 APR-util 提供的底层功能。 [10]总结关系:
libapr1-dev
) 是最底层的可移植性抽象层,提供基本的跨平台功能。libaprutil1-dev
) 在 APR 之上构建,提供更高级的通用实用程序。apache2-dev
) 核心服务器本身依赖于 APR 和 APR-util 来实现其跨平台功能和内部操作。它提供了构建 Apache 模块的工具和头文件。libapreq2-dev
是一个更专业的库,用于处理 HTTP 请求数据,它利用了 Apache 的 API 以及 APR 和 APR-util 提供的功能。因此,它们形成了一个层次结构,其中较低层的库为较高层的库和应用程序提供基础服务和接口。开发 Apache 模块或与 Apache 交互的应用程序时,通常会同时用到这些开发包。 [11][12]
Learn more: