潇洒紫焰 发表于 2018-11-23 10:03:13

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

  #/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启动正常。
  但总觉得很奇怪,是什么原因导致的呢?
  #httpd -V
  Server version: Apache/2.2.3
  Server built:   Sep3 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能正常启动了。

页: [1]
查看完整版本: 解决apache无法启动:undefined symbol: apr_ldap_ssl_init