解决:error: Cannot find libmysqlclient_r under /usr/local/mysql.

Posted 兜风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决:error: Cannot find libmysqlclient_r under /usr/local/mysql.相关的知识,希望对你有一定的参考价值。

配置php的时候出现以下问题解决方案

checking for mysql support... yes
checking for specified location of the MySQL UNIX socket...no
checking for MySQL UNIX socket location... no
configure: error: Cannot find libmysqlclient_r under/usr/local/mysql. Note that the MySQL client library is not bundledanymore!

其实这跟PHP没有关系,那是因为在编译APACHE的时候,使用--with-mpm模块,所以就必须在编译MYSQL的时候加上--enable-thread-safe-client.参数
这是PHP5.2的一个改进,在PHP5.2.0之前的版本都不需要MYSQL启用安全线程。关于--enable-thread-safe-client项的官方介绍如下:如何生成线程式客户端库总是线程安全的。最大的问题在于从套接字读取的net.c中的子程序并不是中断安全的。或许你可能希望用自己的告警中断对服务器的长时间读取,以此来解决问题。如果为SIGPIPE中断安装了中断处理程序,套接字处理功能应是线程安全的。SupeSite/X-为了避免连接中断时放弃程序,MySQL将在首次调用mysql_server_init()、mysql_init()或mysql_connect()时屏蔽SIGPIPE。如果你打算使用自己的SIGPIPE处理程序,首先应调用mysql_server_init(),然后安装你的处理程序.


还有第二种解决方法比较方便:编译之前,先处理一下mysql的库,默认查找libmysqlclient_r.so,可是mysql默认为libmysqlclient.so,内容完全一样,做个链接即可
# cd /usr/local/mysql/lib/mysql/ 
# ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so








以上是关于解决:error: Cannot find libmysqlclient_r under /usr/local/mysql.的主要内容,如果未能解决你的问题,请参考以下文章

Error: Cannot find module 'webpack/lib/node/NodeTemplatePlugin'

configure: error: Cannot find ldap libraries in /usr/lib

Webpack打包出错:Error: Cannot find module ‘webpack/lib/node/NodeTemplatePlugin‘ Require stack:

完美解决:/usr/bin/ld: cannot find -lc collect2: error: ld returned 1 exit status问题

完美解决:/usr/bin/ld: cannot find -lc collect2: error: ld returned 1 exit status问题

完美解决:/usr/bin/ld: cannot find -lc collect2: error: ld returned 1 exit status问题