现在的位置: 首页 > 综合 > 正文

解决apache无法启动:undefined symbol: apr_ldap_ssl_init

2013年02月07日 ⁄ 综合 ⁄ 共 1452字 ⁄ 字号 评论关闭

[root@test ~]#/etc/init.d/httpd start
Starting httpd: httpd: Syntax error on line 161 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_ldap.so into server: /etc/httpd/modules/mod_ldap.so: undefined symbol: apr_ldap_ssl_init

以前好用的好好的,重启httpd后,竟然无法启动了。。。
根据错误提示,注释掉/etc/httpd/conf/httpd.conf中的“LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so”后,htppd启动正常。
但总觉得很奇怪,是什么原因导致的呢?
[root@test ~]#httpd -V
Server version: Apache/2.2.3
Server built:   Sep  3 2009 17:37:31
Server’s Module Magic Number: 20051115:3
Server loaded:  APR 1.4.2, APR-Util 1.3.9  #版本不对
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with….
 -D APACHE_MPM_DIR=”server/mpm/prefork”
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT=”/etc/httpd”
 -D SUEXEC_BIN=”/usr/sbin/suexec”
 -D DEFAULT_PIDLOG=”logs/httpd.pid”
 -D DEFAULT_SCOREBOARD=”logs/apache_runtime_status”
 -D DEFAULT_LOCKFILE=”logs/accept.lock”
 -D DEFAULT_ERRORLOG=”logs/error_log”
 -D AP_TYPES_CONFIG_FILE=”conf/mime.types”
 -D SERVER_CONFIG_FILE=”conf/httpd.conf”

 原来是apr的问题(有多个路径不同的apr)。查看LD_LIBRARY_PATH,并没有异常。查看/etc/ld.so.conf,发现多了一个自定义路径,/usr/local/test
 而这个路径下有libapr*相关的文件,注释掉这个路径后,ldconfig一下,OK,httpd能正常启动了。


抱歉!评论已关闭.