CentOS7 安装 PHP 8.1 报错:BROTIL libs and/or directories were not found where specified,如何解决?
在 CentOS 7 系统中使用宝塔面板或源码编译安装 PHP 8.1 时,可能会遇到如下报错:
此问题表明系统在编译 PHP 8.1 过程中找不到 Brotli 库文件路径,导致编译失败。
并确认已安装如下依赖:
error: BROTIL libs and/or directories were not found where specified
原因分析
Brotli 是 Google 开发的一种压缩算法,PHP 8.1 默认支持ext-brotli
扩展。如果系统未正确安装 Brotli 开发库,或者编译时指定的路径不正确,就会出现上述错误。
解决方案步骤
步骤 | 操作说明 |
---|---|
1 | 安装 Brotli 开发库:执行命令 yum install -y brotli-devel |
2 | 如果没有找到依赖包,请先启用 EPEL 源:yum install -y epel-release |
3 | 验证是否成功安装:运行 rpm -q brotli-devel 查看是否返回版本信息 |
4 | 在宝塔面板中重新安装 PHP 8.1,或手动重新编译 PHP(确保配置参数中包含 Brotli 支持) |
补充说明(适用于手动编译用户)
如果你是通过源码编译安装 PHP 8.1,在执行./configure
时需确保添加了以下参数:
bash
--with-brotli-dir=/usr
bash
yum install -y libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel gmp-devel libmcrypt-devel libxslt-devel zlib-devel oniguruma-devel brotli-devel
常见疑问及应对办法
问题描述 | 解决方法 |
---|---|
yum 提示 No package brotli-devel available | 先安装 EPEL 源再尝试安装 |
宝塔安装 PHP 8.1 依然报错 | 清除缓存后重试安装,或尝试更换镜像源 |
安装后仍然提示找不到 Brotli | 检查 /usr/lib64/ 或 /usr/include/brotli 是否存在相关文件 |
是否可以不启用 Brotli | 可以,在自定义编译时去掉 --enable-brotli 参数即可跳过该扩展 |
总结
出现BROTIL libs and/or directories were not found where specified
错误,通常是因为缺少 Brotli 开发库或路径未识别所致。通过安装 brotli-devel
包,并确保依赖环境完整,可有效解决该问题。如果是宝塔用户,建议在软件商店中直接搜索“php8.1”查看官方适配情况;如为源码编译用户,则需注意配置参数与依赖完整性。更新时间:2025-05-15 12:27:25