缺少mcrypt扩展,请检查php配置_phpmyadmin安装
2016/03/16    

错误提示:缺少mcrypt扩展,请检查php配置 (以下步骤均为本人实际操作,可能与你的安装方法有所区别,但我会尽量排除疑惑)

大致步骤(1)安装mcrypt,

(2)安装php对mcrypt的扩展,

(3)重启apache

(1)、确认你的linux没有安装mcrypt库,如果已安装,跳过安装步骤 检查是否已经安装:

[root@test-206 ~]# yum list installed|grep mcrypt

安装方法:

1、懒人安装 #yum install libmcrypt libmcrypt-devel mcrypt mhash

2、源码编译安装

a.去http://www.sourceforge.net下载Libmcrypt,mhash,mcrypt安装包 libmcrypt(libmcrypt-2.5.8.tar.gz ): mcrypt(mcrypt-2.6.8.tar.gz ): mhash(mhash-0.9.9.9.tar.gz ):

b.先安装Libmcrypt #tar -zxvf libmcrypt-2.5.8.tar.gz #cd libmcrypt-2.5.8 #./configure #make #makeinstall

说明:libmcript默认安装在/usr/local

c.安装mhash#tar -zxvf mhash-0.9.9.9.tar.gz #cd mhash-0.9.9.9 #./configure #make #make installd.安装mcrypt#tar -zxvf mcrypt-2.6.8.tar.gz #cd mcrypt-2.6.8 #LD_LIBRARY_PATH=/usr/local/lib ./configure #make #make installe.检查是否安装成功

(2)、安装php的mcrypt扩展(动态加载编译) 下载php下的mcrypt扩展或者直接下载php的完整安装包http://cn.php.net/releases/ 网页下找到自己服务器的php版本,下载后tar解压(本人的是php5.3.3) 进入ext/mcrypt文件夹

[root@*_* 14:45 ~]# cd php-5.3.3/ext/mcrypt/ 执行phpize命令(phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,如果没有?yum install php53-devel里包含了,或者其他方法) [root@*_* 14:48 mcrypt]# whereis phpize //为了确定phpize存在 phpize: /usr/bin/phpize /usr/share/man/man1/phpize.1.gz

[root@*_* 14:48 mcrypt]# phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626 执行完后,会发现当前目录下多了一些configure文件,最后执行php-config命令就基本完成了 执行以下命令,确保你的/usr/bin/php-config是存在的 [root@*_* 15:02 mcrypt]# whereis php-config php-config:/usr/bin/php-config /usr/share/man/man1/php-config.1.gz

[root@*_* 15:02 mcrypt]# ./configure --with-php-config=/usr/bin/php-config

如果遇到以下错误,请先安装gcc,

命令yum install gccconfigure: error: no acceptable C compiler found in $PATH 直到不报错,出现:config.status: creating config.h,执行以下命令 [root@*_* 15:06mcrypt]# make && make install 最后的最后,会提示你如下,说明你大功告成了 Installing shared extensions: /usr/lib64/php/modules/

顺便检查下/usr/lib64/php/modules/里的mrcypt.so扩展是否已经创建成功 然后的事就简单了,

给你的php.ini添加一条extension=mcrypt.so

[root@*_* 15:09 mcrypt]# cd /etc/php.d

创建一个mrcypt.ini文件就行,里面写extension=mcrypt.so [root@*_* 15:17 php.d]# echo 'extension=mcrypt.so' > mcrypt.ini

(3) 、重启apache,查阅phpinfo,mcrypt模块扩展是不是加载了?