Mac OS 12安装httpd与php启动时报_apr_bucket_file_set_buf_size错误咨询
错误原因说明
这个报错并非缺少相关依赖包,根本原因是Homebrew安装的httpd在运行时调用了MacOS系统自带的libaprutil-1.0.dylib库,而Monterey自带的aprutil版本过低,无法匹配httpd 2.4.51编译时要求的_apr_bucket_file_set_buf_size符号,因此触发了动态链接错误。
修复步骤
- 先卸载现有冲突的相关包
brew uninstall --force httpd apr apr-util
如果执行时提示有其他软件依赖上述包,可以先记录依赖包名称,修复完成后重新安装对应依赖即可。
- 清理Homebrew缓存与冗余依赖
brew cleanup && brew autoremove
- 安装Homebrew维护的apr、apr-util库,替代系统自带的低版本库
brew install apr apr-util
- 从源码编译安装httpd,强制其链接Homebrew安装的apr库,避免调用系统库
brew install -s httpd
- 验证httpd配置合法性
/opt/homebrew/opt/httpd/bin/httpd -t
返回Syntax OK即代表修复完成,可正常启动httpd服务。
后续PHP环境配置提示
MacOS Monterey已完全移除内置PHP,直接通过Homebrew安装对应版本PHP即可,示例命令如下(以PHP7.4为例,可替换为你需要的版本号):
brew install php@7.4
安装完成后在httpd的配置文件中引入Homebrew安装路径下的PHP模块即可完成关联,无需调用系统路径下的资源。
内容的提问来源于stack exchange,提问作者DPK
相关产品推荐
相关产品推荐

