开源中文网

您的位置: 首页 > Linux应用 > Apache > 正文

apache缺少libdb-4.1.so无法启动

来源:  作者:

安装discuz for linux版,却无法启动apache....
文件结构如下:
apache: /usr/local/apache
php:    /usr/local/php
zend:   /usr/local/zend
mysql:  /var/lib/mysql
不过好像for linux是老版本的,文件结构跟新出的好像不太一样了!
启动apache: /usr/local/apache/bin/apachectl start
报错:找不到libdb-4.1.so
yum install libdb-4.1.so,已经安装
ldd httpd:
libdb-4.3.so找不到.
解决:
libdb-4.3.so位于目录/usr/lib下.
把文件连接到httpd使用的库中即可
ln -s /usr/lib/libdb-4.3.so /lib/libdb-4.1.so
这样就把文件连接到httpd启动所需的库文件连接起来
再重新启动apache,顺利访问discuz...

ps:
命令 ldd:
(转网管论坛)
  1、首先ldd不是一个可执行程序,而只是一个shell脚本 bbs.bitsCN.com
  2、ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下: LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、 LD_VERBOSE等。当LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模块的 dependency,而程序并不真正执行。要不你可以在shell终端测试一下,如下:
bitsCN.Com
  (1) export LD_TRACE_LOADED_OBJECTS=1 BBS.bitsCN.com网管论坛
  (2) 再执行任何的程序,如ls等,看看程序的运行结果
  3、ldd显示可执行模块的dependency的工作原理,其实质是通过ld-linux.so(elf动态库的装载
  器)来实现的。我们知道,ld-linux.so模块会先于executable模块程序工作,并获得控制权,因此当上述的那些环境变量被设置时,ld-linux.so选择了显示可执行模块的dependency。
  4、实际上可以直接执行ld-linux.so模块,如:/lib/ld-linux.so.2 ——list program(这相当于ldd program)
  ldd命令使用方法(摘自ldd ——help) bitsCN.nET中国网管博客
  名称 ldd - 打印共享库的依赖关系 bitscn.com
  大纲 ldd [选项]…… 文件…… bbs.bitsCN.com
  描述 ldd 输出在命令行上指定的每个程序或共享库需要的共享库。
bitsCN_com
  ——version
  打印ldd的版本号
 -v ——verbose 中国.网管联盟
  打印所有信息,例如包括符号的版本信息
  -d ——data-relocs
  执行符号重部署,并报告缺少的目标对象(只对ELF格式适用) 中国网管论坛
  -r ——function-relocs
  对目标对象和函数执行重新部署,并报告缺少的目标对象和函数(只对ELF格式适用) bitsCN.Com
  ——help 用法信息
  注意: bitsCN.nET中国网管博客
  ldd的标准版本与glibc2一起提供。Libc5与老版本以前提供,在一些系统中还存在。在libc5版本中长选项不支持。另一方面,glibc2版本不支持-V选项,只提供等价的——version选项。 bitscn.com
  如果命令行中给定的库名字包含'/',这个程序的libc5版本将使用它作为库名字;否则它将在标准位置搜索库。运行一个当前目录下的共享库,加前缀"./"。
  ldd不能工作在a.out格式的共享库上。
  ldd不能工作在一些非常老的a.out程序上,这些程序在支持ldd的编译器发行前已经创建。如果你在这种类型的程序上使用ldd,程序将尝试argc = 0的运行方式,其结果不可预知。

命令 ln:
(转showke.cn)

目标:将某目录 /home/slowke/www/tools 映射为apache默认文档 /home/slowke/www/htdocs下的一个目录,达到可以通过WEB访问的目的。
ln -s /home/slowe/www/tools /home/slowke/www/htdocs/tools
现在通过web http://www.slowke.com/tools 访问原来的文件了。
附:ln 文档连结 详细说明
命令格式:ln -s oldname newname ( Hard link )
同一文档,可拥有一个以上之名称,可将文档做数个连结.例子 :
ln -s file1 file2   将名称 file2,连结至文档 file1. (Slowke.com 慢客整理)
用途说明:
1. 为一个文件建立别名,方便系统调用,而不需要修改任何配置。
2. 为一个目录建立别人,方便系统调用,而不需要修改任何配置。

Tags:apache 缺少 libdb
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明