今天在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... nochecking for MySQL UNIX socket location... noconfigure: 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.sochecking whether to enable embedded MySQLi support… nochecking for mysql_set_server_option in -lmysqlclient… noconfigure: 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
http://www.bkjia.com/PHPjc/824756.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/824756.htmlTechArticle今天在64位Red Hat Enterprise Linux AS release 4 .7上編譯PHP5.2.6出錯,mysql是使用的RPM方式安裝的,PHP編譯代碼如下: ./configure --prefix=/usr/local/php --with-...