我是靠谱客的博主 无心夕阳,这篇文章主要介绍编译PHP报错configure error Cannot find libmysqlcl,现在分享给大家,希望可以做个参考。

今天在64位Red Hat Enterprise Linux AS release 4 .7上编译PHP5.2.6出错,mysql是使用的RPM方式安装的,PHP编译代码如下:

复制代码
1
2
3
4
./configure --prefix=/usr/local/php --with-mysql --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-curl --enable-xml --with-mcrypt --with-ttf --enable-magic-quotes --enable-fastcgi --enable-mbstring --with-iconv --enable-mbstring --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-sysvsem出现以下错误:checking for specified location of the MySQL UNIX socket... no checking for MySQL UNIX socket location... no configure: error: Cannot find libmysqlclient under /usr. Note that the MySQL client library is not bundled anymore!

通过查找libmysqlclient,发现是在/usr/lib64/mysql/目录内的libmysqlclient.so.16.0.0做的软连接,PHP默认是去的 /usr/lib/搜索,所以没有找到.找到问题了就好解决了.

类似的问题还有:

复制代码
1
/usr/lib/libjpeg.so -> /usr/lib64/libjpeg.so

解决方法:

1.

复制代码
1
cp -rp /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so

2.

复制代码
1
2
3
4
/usr/lib64/libmysqlclient.so -> libmysqlclient.so.16.0.0/usr/lib/libmysqlclient.so -> /usr/lib64/libmysqlclient.so checking whether to enable embedded MySQLi support… no checking for mysql_set_server_option in -lmysqlclient… no configure: error: wrong mysql library version or lib not found. Check config.log for more information

经过测试后, 发现如下解决方案:

(php-xxxxx为php文件名, 代表路径)

复制代码
1
2
3
4
5
6
# cd /usr/local/src/php-xxxxx/ext/mysqli # yum -y install mysql-devel # /phpize # ./configure –with-php-config= /php-config –enable-embedded-mysqli=shared –enable-shared # make # make install

这时屏幕会打印mysqli.so生成的路径, 在php.ini里加载就好啦

复制代码
1
/usr/bin/ld: cannot find -lmysqlclient

最后

以上就是无心夕阳最近收集整理的关于编译PHP报错configure error Cannot find libmysqlcl的全部内容,更多相关编译PHP报错configure内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(118)

评论列表共有 0 条评论

立即
投稿
返回
顶部