apache源码安装失败主因是apr、apr-util、pcre三依赖缺失或版本不匹配;推荐优先用系统包管理器安装对应-dev/devel包,若需源码编译则须按apr→apr-util→pcre→httpd顺序安装并显式指定路径。

Apache 源码安装失败,多数情况是依赖库缺失或版本不匹配。核心依赖有三个:APR、APR-util 和 PCRE,缺一不可,且版本需兼容(例如 httpd-2.4.x 通常要求 APR ≥ 1.5、APR-util ≥ 1.5、PCRE ≥ 8.32)。直接用系统包管理器装开发包最省事;若需自编译,则必须按顺序安装并显式指定路径。
先确认系统基础环境
确保已安装编译工具链和基础开发包:
- Ubuntu/Debian:
sudo apt update && sudo apt install build-essential libssl-dev - CentOS/RHEL:
sudo yum groupinstall "Development Tools" && sudo yum install openssl-devel - 检查 gcc、make 是否可用:
gcc --version和make --version
一次性装齐关键依赖开发包(推荐)
多数情况下,不用手动编译 APR,系统包即可满足需求:
PHP中文网提供Apache 2.4.62 官方 tar.gz 源码包下载,通过源码编译安装,开发者能够灵活定制模块、优化性能并精准控制安装路径,满足多样化的业务需求。
- Ubuntu/Debian:
sudo apt install libapr1-dev libaprutil1-dev libpcre3-dev - CentOS/RHEL:
sudo yum install apr-devel apr-util-devel pcre-devel - 装完后直接运行
./configure --prefix=/usr/local/apache --enable-so,通常不再报 APR 或 PCRE 错误
必须手动编译时的正确顺序与参数
当系统包版本过低(如 CentOS 7 自带 apr 1.4),需源码安装并精确指定路径:
- 先装 APR:
./configure --prefix=/usr/local/apr && make && sudo make install - 再装 APR-util:
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && sudo make install - 接着装 PCRE:
./configure --prefix=/usr/local/pcre && make && sudo make install - 最后配置 Apache:
./configure --prefix=/usr/local/apache --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
常见衍生错误与补救
即使 configure 成功,make 过程仍可能失败,典型情况包括:
-
“undefined reference to XML_…”:说明 APR-util 编译时没找到 libxml2,需先装
libxml2-devel(CentOS)或libxml2-dev(Ubuntu),然后make clean并重装 APR-util -
权限或路径问题:确保
--prefix目录存在且当前用户有写权限,例如sudo mkdir -p /usr/local/apache && sudo chown $USER:$USER /usr/local/apache -
configure 报 “PCRE not found” 却已装 pcre-devel:可能是 PCRE 版本太旧,或系统同时存在多个 PCRE 安装,建议加
--with-pcre显式指向新版路径










