apache重启时undefined symbol: apr_global_mutex_lockfile的问题

有时候会因为apr环境配置的问题,导致原来运行的好好的apache打算重启时报错

可以输入命令httpd -V查看apache的安装信息,可能会发现类似:

Server loaded:  APR 1.2.7, APR-UTIL 1.5.3
Compiled using: APR 1.5.0, APR-UTIL 1.5.3

系统载入的apr版本和apache编译时使用的apr版本不一致


如果是系统载入的版本较高,可以尝试这样解决:

查看LD_LIBRARY_PATH,有没有指向类似/usr/local/apr/lib

如果有的话,一般有人设置在这个文件:/etc/profile

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

先把它注释并重新登录用户,再执行./httpd -V应该这样就可以了

如果没有异常,再查看/etc/ld.so.conf,看看有没有多出自定义路径,比如/Data/local/apr-1.5.0/lib
 而这个路径下有libapr*相关的文件,注释掉这个路径后,ldconfig一下,再执行./httpd -V


如果是编译时使用的版本较高:

可能是yum安装的较低版本apr,覆盖了前面编译安装的高版本apr

只要yum remove apr apr-devel就可以了

你可能感兴趣的:(apache重启时undefined symbol: apr_global_mutex_lockfile的问题)