> CentOS > CentOS故障 >

解决PHPMyadmin提示 “无法载入mcrypt模块”

在Linux的发行版CentOS 6.3 系统下,LAMP(Linux+Apache+Mysql+php)环境搭建好后发现PHPMyadmin提示“无法载入mcrypt模块”的错误,尝试使用yum安装提示找不到模块。如下为执行过程:

yum install php-mcrypt
Setting up Install Process
No package php-mcrypt available.
Error: Nothing to do

原来CentOS官方默认不对mcrypt模块进行支持,所以使用Fedora的扩展库,EPEL (Extra Packages for Enterprise Linux)来安装。RHEL是Redhat的企业版,Fedora是Redhat的桌面版,CentOS是拿Redhat的源码由社区自己编译的免费版,所以Cent是可以使用Fedora的软件的。

打开网址:http://mirrors.sohu.com/fedora-epel/6/i386/,使用 Ctrl+F 搜索关键词“epel-release”找到当前最新的扩展包发现最新版本为:epel-release-6-8.noarch.rpm,然后执行命令:

rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm

清除原有的yum信息

yum clean all

查看是否已经有了EPEL(Extra Packages for Enterprise Linux)扩展包,执行命令:

yum repolist|grep epel

输出下面类似的结果就为添加成功:

epel           Extra Packages for Enterprise Linux 6 - x86_64        8,986+1,907

执行命令,安装mcrypt扩展包:

yum install php-mcrypt

重启apache是扩展生效,执行命令:

service httpd restart

然后我这台机器的情况不太一样,安装的是nginx,是还有错误提示,

查看phpinfo,发现已经载入了/etc/php.d/mcrypt.ini,
而/etc/php.d/mcrypt.ini中没有指定路径,仅指定了extension=”/mcrypt.so”,
可能因为mcrypt.so是自己安装的所以路径不对,
用下面的命令:

find -name mcrypt.so

找到正确的路径在/usr/lib64/php/modules/mcrypt.so,
修改/etc/php.d/mcrypt.ini中的路径extension=”/usr/lib64/php/modules/mcrypt.so”
重启php,重启nginx。

EOF



(责任编辑:IT)