You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS升级后httpd启动失败:mod_http2.so符号未定义问题求助

升级CentOS后httpd无法启动的解决办法

升级CentOS系统后执行service httpd restart重启服务失败,启动日志报错如下:

Sep 08 10:39:15 myhost systemd[1]: Starting The Apache HTTP Server...
Sep 08 10:39:16 myhost httpd[97298]: httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf.modules.d/10-h2.conf: Cannot load modules/mod_http2.so into server: /etc/httpd/modules/mod_http2.so: undefined symbol: apr_pencode_base64_binary
Sep 08 10:39:16 myhost systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Sep 08 10:39:16 myhost systemd[1]: Failed to start The Apache HTTP Server.

这个问题核心是mod_http2.so模块依赖的APR库符号缺失,大概率是升级过程中APR库与httpd模块版本不匹配,或者mod_http2模块未随系统同步升级导致的。

以下是具体解决步骤:

  • 检查APR和httpd相关包的版本,确认是否存在版本不一致:

    rpm -qa | grep -E 'apr|httpd'
    
  • 重新安装httpd及相关模块包,确保所有组件版本匹配:

    dnf reinstall httpd httpd-mod_http2 apr apr-util
    
  • 若上述操作无效,且暂时不需要HTTP/2功能,可临时禁用mod_http2模块:
    编辑/etc/httpd/conf.modules.d/10-h2.conf,注释掉LoadModule http2_module modules/mod_http2.so这一行;或者直接重命名该配置文件:

    mv /etc/httpd/conf.modules.d/10-h2.conf /etc/httpd/conf.modules.d/10-h2.conf.bak
    
  • 最后尝试重启httpd服务:

    systemctl restart httpd
    

如果需要保留HTTP/2功能,确保系统APR库为最新版本,重新安装相关包能解决多数版本不兼容问题。

内容的提问来源于stack exchange,提问作者Porchelvan Jayaraman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 16:09:48