分类:

原文地址:error while loading shared libraries: libmysqlclient.so.16/18: cannot open shared object file 作者:xyaxlz


编译错误存放在安装目录下的debug.log文件里面


/root/dev/php-5.3.6/sapi/cli/php: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
make: *** [ext/phar/phar.php] Error 127

网上找到的解决办法是

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/

照做后仍然报错,原因是该方法适用于32位系统,64位系统应使用下面的这行

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/

另外:在编译的时候,不写mysql的路径,而使用mysqlnd代替,也可解决该问题的出现。


php-fpm启动报错:

Starting php_fpm /usr/local/webserver/php/bin/php-cgi: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory failed。

报错信息指示libmysqlclient.so.16没有找到。

进入/usr/local/mysql/lib/ 目录查看,呵呵,还真没有,只有一个libmysqlclient.so.16.0.0 。于是我建立了一个软件链接来指向libmysqlclient.so.16。

ls - s libmysqlclient . so . 16 libmysqlclient . so . 16.0 . 0

再次启动php-fpm,问题解决了。

听有些网友说问题仍然存在,那可以试试其它网友的解决方案,在/usr/lib/下建立个软链接:

ln - s / usr / local / mysql / lib / libmysqlclient . so . 16 / usr / lib /


如果不行,往下看

export LD_LIBRARY_PATH=”/usr/local/mysq/lib:$LD_LIBRARY_PATH”

加上这句后在去安装编译就ok了。


1.找到libmysqlclient.so.16所在的目录
2.将该目录加入到/etc/ld.so.conf的第一行
3.ldconfig
更新库所在位置
/usr/local/mydns/sbin/named -4 -n 1 -S 52428
搞定了@@@

参考:http://www.justwinit.cn/post/4155/

http://www.php8.org/archives/145.html