程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 編譯PHP報錯configure error Cannot find libmysqlclient under usr的解決方法

編譯PHP報錯configure error Cannot find libmysqlclient under usr的解決方法

編輯:關於PHP編程

今天在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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved