早上突然发现我的虚拟机上的WEB应用访问不了了,后台检查httpd服务,无法启动,出现一行提示:

①starting httpd: httpd: Syntax error on line 163 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

不得不说,apache的错误抛出机制写的真心不错,原因很清晰:

①启动httpd,httpd.conf的163行出错了:

②未能加载mod_ldap.so到apache服务器:

③未知的符号:apr_ldap_ssl_init

这个错误提示原因多是头文件缺失或者头文件和执行程序不匹配导致。

以前运行好好的,怎么突然就出错了呢?

apr_?想起来上周刚安装了最新版本的apache apr,应该是版本冲突。

执行httpd -V,看到如下信息:

========================================

[root@localhost src]# httpd -V
Server version: Apache/2.2.15 (Unix)
Server built: Oct 16 2014 14:45:47
Server's Module Magic Number: 20051115:25
Server loaded: APR 1.5.1, APR-Util 1.5.4
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"

=======================================

得到确认了,编译使用的是APR 1.3.9,运行时加载了APR 1.5.1(这个是我上周装的最新版),版本冲突了。

解决思路:

①重新编译apache服务器,使用高版本的APR库。

②降低我项目所使用的APR版本,保持和apache一致。

由于产品默认的apache服务器是较低版本,我选择了第二种思路。

新的问题出现了:提示找不到apr_dbd_mysql.so库。

这个看了一下编译后的APR包路径,就比较容易解决了,将apr_dbd_mysql.so文件拷贝到

/usr/lib/apr-util-1(这是低版本的APR默认加载的库路径)下就行了。

关于apache服务器加载so的报错的更多相关文章

  1. worker中加载本地文件报错的解决方案

    如果在一个swf的主线程中加载文件时,报安全沙箱的错误, 网上有诸多的解决方案.但是如果在一个worker中加载本地文件报类似如下的错误: *** 安全沙箱冲突 *** SecurityError: ...

  2. soapui加载天气预报接口报错Characters larger than 4 bytes are not supported: byte 0xb1 implies a length of more than 4 byte的解决办法

    soapui加载天气预报接口时报错如下: Error loading [http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl ...

  3. tomcat加载web项目报错:bad major version at offset=6

    分析原因是开发的web项目的java版本高于tomcat使用的java版本,比如我是在java1.6上开发的,但是tomcat使用的java运行环境是1.5,所以会报改错误. 转载博客如下:http: ...

  4. 加载rocksdb实例报错:java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\librocksdbjni3696928169151614297.dll

    项目的缓存中用到了rocksdb,实例化时报错了: Related cause: org.springframework.beans.factory.BeanCreationException: Er ...

  5. (转帖)关于easyui中的datagrid在加载数据时候报错:无法获取属性"Length"的值,对象为null或未定义

    结贴说明: 很感谢sp1234等人的热心帮忙和提醒,现在我主要说明下问题所在: 首先我在独立的js文件中,直接把测试数据loaddata进去datagrid是没有问题的.var kk = {" ...

  6. ztree插件异步加载 使用RESTEasy报错 Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.

    在使用ztree插件实现异步加载时遇到后台RESTEasy接收参数问题,查看后台报错: A servlet request to the URI http://localhost:8080/area/ ...

  7. pytorch 加载mnist数据集报错not gzip file

    利用pytorch加载mnist数据集的代码如下 import torchvision import torchvision.transforms as transforms from torch.u ...

  8. vue 动态加载图片路径报错解决方法

    最近遇到图片路径加载报错的问题 之前一直都是把图片放到assets的文件下的.总是报错,看到一些文章并且尝试成功了,特意记录下 首先先说明下vue-cli的assets和static的两个文件的区别, ...

  9. A框架 第三步 先加载父类,如果加载子类.立马报错.里面继承的父类还没有导入

    先导入  超级父类 如object.php ----controller.php 框架文件中 后导入  当前请求的controller的抽象父类(controller_abstract) 最后  导入 ...

随机推荐

  1. JSP简单练习-定时刷新页面

    <%@ page contentType="text/html; charset=gb2312" %> <%@ page import="java.ut ...

  2. js获取checkbox中所有选中值及input后面所跟的文本

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. spring data 自定义查询

    spring data 自定义查询 https://www.cnblogs.com/airycode/p/6535635.html 在方法接口上面使用@Query

  4. Android指令处理流程源代码追踪

    1.拨号界面输入*#06#.显示IMEI号,这是怎么出来的? 2.怎样高速的找出Android平台中的指令? 1. 在DialpadFragment中的EditText注冊一个Textchanged的 ...

  5. UML 之 数据流图(DFD)

          数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能.数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工 ...

  6. 笔记本样式的EditText控件(每行均带下划虚线)

    package com.zongyi.trip.ui; import com.zongyi.trip.R; import android.annotation.SuppressLint; import ...

  7. uni-app 生命周期

    生命周期分为:页面生命周期和应用生命周期 生命周期可参考:uni-app官方API 注意平台支持,仅某个平台支持会显示,5+App是超HTML5+的App方案. 例如分享:只有小程序支持.这时我们就要 ...

  8. [C++设计模式]template 模板方法模式

    模板法模式:定义一个操作中的算法骨架.而将一些步骤延迟到子类中. 依照<headfirst 设计模式>的样例.煮茶和煮咖啡的算法框架(流程)是一样的.仅仅是有些算法的实现是不一样的,有些是 ...

  9. 改进版高速排序(平均复杂度O(NlogN))

    #include<iostream> using namespace std; #define MAXSIZE 21 typedef int SqList[MAXSIZE]; #defin ...

  10. java面试第十四天

    包名.类名和属性可以被序列化,方法和构造器不会被序列化的. 静态属性不会被序列化的. 属性会被递归序列化的,也就是一个类中有引用类型的属性,如果这个属性对应的类实现了Serializable接口,在对 ...