PHP編譯安裝報錯:configure: error: mcrypt.h not found. Please reinstall libmcrypt


我是在CentOS6.5安裝php5.5.28這個版本,PHP編譯代碼如下:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd --with-iconv --with-zlib --with-fpm-user=php --with-fpm-group=php --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-pear --with-gettext --enable-session  --with-curl --enable-exif

 

安裝過程不再贅述。因為在編譯安裝時沒有把mcrypt這個擴展編譯進去,所以在phpmyadmin里有這樣一句提示:

缺少 mcrypt 擴展。請檢查 PHP 配置。

另外在獨立安裝mycrypt擴展時,報錯:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

 

現在把mcrypt擴展安裝過程貼出來,希望對遇到此類問題的朋友有幫助:

 

1.首先編譯安裝  libmcrypt,  mhash,  mcrypt  二進制源碼包。

 

========================================

下載libmcrypt-2.5.8.tar.gz

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure --prefix=/usr/local/libmcrypt

make 

make install

 

=========================================

下載mhash-0.9.9.9.tar.gz

tar zxvf mhash-0.9.9.9

cd mhash-0.9.9.9

./configrue --prefix=/usr/local/mhash

make

make install

 

=========================================

tar zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8

export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/mhash/lib

export LDFLAGS="-L/usr/local/mhash/lib -I/usr/local/mhash/include/"

export CFLAGS="-I/usr/local/mhash/include/"

./configure --prefix=/usr/local/mcrypt --with-libmcrypt-prefix=/usr/local/libmcrypt

make

make install

=========================================

 

cd /usr/local/src/develop/php-5.5.28/ext/mcrypt

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config  --with-mcrypt=/usr/local/libmcrypt

make

make install

生成的mcrypt.so文件已經被發送到 /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so

因為我在php.ini設置extension_dir = /usr/local/php/extensions,

所以需要執行:

cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so  /usr/local/php/extensions

然后在php.ini里面添加:
extension=mcrypt.so
重啟php,執行: service php-fpm restart
運行phpinfo(),發現新增了mcrypt擴展項,而且phpmyadmin里面關於mcrypt的提示也不見了。
 
 
在安裝過程中走了彎路,一度鄙視這種編譯安裝方式,多虧了這位大神發的帖子幫忙。
詳見: http://segmentfault.com/q/1010000000094627

 

==============================================================

64位Centos報錯:
configure: error: Cannot find ldap libraries in /usr/lib.
解決方法是執行命令: cp -frp /usr/lib64/libldap* /usr/lib/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM