霜天部落 | 专注PHP研发,研究LAMP高性能架构部署与优化

Apache报错:undefined symbol: dav_register_provider的解决方法

服务器环境:Centos5.2 + apache + subverison

Apache下整合subverison,重启apache的时候出现下面的错误:

[root@localhost local]# /usr/local/apache2/bin/apachectl start
httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dav_svn.so into server: /usr/local/svn/lib/libsvn_subr-1.so.0: undefined symbol: dav_register_provider

解决办法:

重新编译安装Apache,编译安装./configure 时增加参数

# ./configure –prefix=/usr/local/apache2/ –enable-dav –enable-so

*–enable-dav –enable-so参数是必须要加的,你还可以根据您的需要添加其他的参数。

* –enable-dav 启用davweb支持,是subversion+apache组合必选,缺少的话,在运行apache会出现undefined symbol: dav_register_provider的错误

* apr 和 apr-util 一般会在httpd的安装包内,subversion安装会使用到apr和par-util,如果当前系统没有,最好安装一下。