编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法

yipeiwu_com5年前Mysql基础

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

./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/搜索,所以没有找到.找到问题了就好解决了.

类似的问题还有:

/usr/lib/libjpeg.so -> /usr/lib64/libjpeg.so

解决方法:

1.

cp -rp /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so

2.

/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文件名, 代表路径)

# 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里加载就好啦

/usr/bin/ld: cannot find -lmysqlclient

相关文章

在php MYSQL中插入当前时间

NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中。 CURDATE()以'YYYY-MM-DD'的格式返回今天...

php下pdo的mysql事务处理用法实例

本文实例讲述了php下pdo的mysql事务处理用法。分享给大家供大家参考。具体分析如下: php+mysql事务处理的几个步骤: 1.关闭自动提交 2.开启事务处理 3.有异常就自动抛...

Mysql和网页显示乱码解决方法集锦

将数据插入到php?name=%CA%FD%BE%DD%BF%E2" onclick="tagshow(event)" class="t_tag">数据库的时候...

php+mysql实现无限分类实例详解

本文实例讲述了php+mysql实现无限分类的方法。分享给大家供大家参考。具体分析如下: 1、数据库通过设置父类ID来进行唯一索引,然后使用函数的递归调用实现无限分类; 2、数据库设计通...

php+mysql实现简单的增删改查功能

列表代码 <?php $con = mysql_connect("localhost:3306","root",""); if (!$con) { d...