对于这种库没有加载成功的问题,一般有两种可能:
一是库确实没有安装;这个时候解决办法很简单直接安装库即可。
二是库确实安装了,系统没有找到不知道库所在目录,这个时候一般通过在/etc/ld.so.conf中加入xxx.so所在的目录即可。
比如:很多so会存放在/usr/local/lib目录下,加入/usr/local/lib到/etc/ld.so.conf,保存,运行:/sbin/ldconfig –v更新下配置即可。
但是小编遇到的问题和使用阿里云ECS服务器有关,主要是因为使用了yum命令安装了软件,然后使用xampp重新启动就出现了“error while loading shared libraries: libc.so.6”
类似问题。
解决办法:
1,先用命令 ldd /bin/ls 看下lib的情况,发现libc.so.6确实存在。
libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003973000000) librt.so.1 => /lib64/librt.so.1 (0x0000003972400000) libcap.so.2 => /lib64/libcap.so.2 (0x0000003977800000) libacl.so.1 => /lib64/libacl.so.1 (0x0000003976c00000) libc.so.6 => /lib64/libc.so.6 (0x0000003971800000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003972000000) /lib64/ld-linux-x86-64.so.2 (0x0000003971400000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003971c00000) libattr.so.1 => /lib64/libattr.so.1 (0x0000003975800000)
2,编辑/opt/lampp/lampp如下,产生的原因主要是“/opt/lampp/lampp在根据服务器的版本做判断!”
osguess() { if test -f /etc/redhat-release then if egrep "9 " /etc/redhat-release > /dev/null then echo "rh9" return 0 else echo "linux" return 0 fi
osguess() { if test -f /etc/redhat-release then #if egrep "9 " /etc/redhat-release > /dev/null #then #echo "rh9" #return 0 #else echo "linux" return 0 #fi
3,重启/opt/lampp/lampp restart即可