php编译时出错configure: error: mcrypt.h not found. Please reinstall libmcrypt

回复 收藏
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的提示也不见了。


==============================================================
64位Centos报错:
configure: error: Cannot find ldap libraries in /usr/lib.
解决方法是执行命令: cp -frp /usr/lib64/libldap* /usr/lib/
2016-05-05 21:56 举报
已邀请:
0

Sean.Yuan

赞同来自:

不好意思,论坛里好多解决方法。我想说,这个问题,没有看到一个完整的解决方法出来。
首先那个几个源码包的下载地址在哪里。
其次,你的那几个因为的解释。反而看不懂了。。不过你的思路肯定不错
0

gsy36559067

赞同来自:

Sean.Yuan 发表于 2016-6-2 23:02
不好意思,论坛里好多解决方法。我想说,这个问题,没有看到一个完整的解决方法出来。
首先那个几个源码包 ...

有些下载的肯定有过时或者不能下载的,重要的是找到解决的方法,思路
0

鲍国亮

赞同来自:

这个解决办法似乎更装逼,yum安装缺什么装什么就好了呀, yum install libmcrypt-devel -y ,安装libmcryp会有yum源没有安装包的问题,可以加一个epel扩展yum源就好了yum install -y epel-release。

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: