今天在64位rhel4.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