如何安装缺少 mcrypt 扩展扩展

& 升级 php 7.2 后,使用微信提供的加解密代码时,提示 call to undefined function mcrypt_module_open() ;大脑疯狂运转1秒钟后,得出结论:php 7.2的扩展有变动;查阅相关资料知晓,mcrypt 扩展从 php 7.1.0 开始废弃;自 php 7.2.0 起,会移到 pecl。还好,安装过程不复杂。
& `环境:centos 7`
- yum 安装依赖包:
`yum install libmcrypt libmcrypt-devel mcrypt mhash`
- 在 php 官网下载 mcrypt 包,
http://pecl.php.net/get/mcrypt-1.0.1.tgz
# tar xf mcrypt-1.0.1.tgz
# cd mcrypt-1.0.1
- 编译安装 mcrypt
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
&& make && make install
- 在php.ini加上扩展即可
`extension=mcrypt.so`
- 重启 php-fpm
`/etc/init.d/php-fpm restart`ubuntu安装php mcrypt扩展的步骤
作者:用户
本文讲的是ubuntu安装php mcrypt扩展的步骤,
1、安装 Mcrypt 包
php5-mcrypt libmcrypt4 libmcrypt-dev
1、安装 Mcrypt 包
php5-mcrypt libmcrypt4 libmcrypt-dev
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
sudo php5enmod mcrypt
sudo service apache2 restart
无法加载 mcrypt
编辑php配置文件vim /etc/php5/cgi/php.ini找到mcrypt并在下面添加红色行:
; For more information about mcrypt settings see http://php.net/mcrypt-module-open
; Directory where to load mcrypt algorithms
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.algorithms_dir=
mcrypt.algorithms_dir=/etc/bash_completion.d/mcrypt
3.添加完成后注意要重启fast-cgi:
root@Ubuntu:/# killall -9 php-cgi
root@Ubuntu:/# /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 20 -u nginx -g nginx -f /usr/bin/php5-cgi
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索代码
ubuntu mcrypt 扩展、mcrypt php 扩展、php安装mcrypt扩展、mac mcrypt php 扩展、yum mcrypt php 扩展,以便于您获取更多的相关知识。
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
40+云计算产品,6个月免费体验
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
云服务器9.9元/月,大学必备
云栖社区(yq.aliyun.com)为您免费提供相关信息,包括
,所有相关内容均不代表云栖社区的意见!缺少 mcrypt 扩展。请检查 PHP 配置。_百度知道
缺少 mcrypt 扩展。请检查 PHP 配置。
改装得包都装过了,求解释是为什么不要复制了。。。各种方法都试过了,求真正知道的人帮我看一下
我有更好的答案
sudo aptitude install libmcrypt-dev 或者sudo apt-get install php5-mcrypt模块安装完毕后,将mcrypt模块加载sudo php5enmod mcrypt检查:/etc/php5/apache2/conf.d/
/etc/php5/mods-available/有mcrypt.ini文件随后重启apache2sudo service apache2 restart搞定!
采纳率:65%
phpinfo()看看是否有mcrypt,应该是没有的,你用的应该是ubuntu吧,在php源码的ext文件夹里有mcrypt扩展,这个需要编译,扩展编译好后有个mcrypt.so的文件,copy到php扩展目标,修改php.ini文件,然后重新启动php
sudo aptitude install libmcrypt-dev 安装这个库后,重启apache2 就行了
打开php.ini,找到;extension=php_mcrypt.dll把前面的分号去掉, 保存!重启Apache
哪一个php.ini,在apache2,cli,cgi下都有php.ini
问题解决没有,我是同样的问题
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
php的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。技术交流QQ群:& && && &
现在的位置:
Linux下php安装mcrypt扩展
操作系统:CentOS 5.x 64位
已安装php版本:php-5.4.4
已安装php路径:/usr/local/php
实现目的:
在不影响网站访问的情况下,重新编译php,增加对mcrypt扩展的支持
具体操作:
一、下载软件包
1、下载php(版本要与系统安装的一致)
http://museum.php.net/php5/php-5.4.4.tar.gz
2、下载libmcrypt(安装mcrypt需要此软件包)
http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
3、下载mhash(安装mcrypt需要此软件包)
https://acelnmp.googlecode.com/files/mhash-0.9.9.9.tar.gz
4、下载mcrypt
https://lcmp.googlecode.com/files/mcrypt-2.6.8.tar.gz
以上软件包下载之后,上传到/usr/local/src目录
二、安装软件包
1、安装libmcrypt
cd /usr/local/src
#进入软件包存放目录
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
#进入安装目录
./configure
make install
2、安装mhash
cd /usr/local/src
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make install
3、安装mcrypt
cd /usr/local/src
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
/usr/local/bin/libmcrypt_config
/usr/bin/libmcrypt_config
#添加软连接
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
#添加环境变量
./configure
make install
三、重新编译php
1、查看系统之前安装的php编译参数
温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接
/usr/local/php/bin/php -i |grep configure
#查看php编译参数,记录下编译参数,后面会用到
2、安装php
cd /usr/local/src
tar zxvf php-5.4.4.tar.gz
cd php-5.4.4
'./configure' '--prefix=/usr/local/php' '--enable-mbstring=all' '--with-config-file-path=/usr/local/php/etc' '--with-zlib' '--with-mysql=/usr/local/mysql-5.1.38/' '--with-gd' '--with-mysqli=/usr/local/mysql-5.1.38/bin/mysql_config' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--enable-fpm' '--enable-soap' '--with-freetype-dir=/usr/lib64' '--with-iconv=/usr/local' '--with-curl' '--with-mcrypt'
#在之前的编译参数后面增加'--with-mcrypt' 回车
make install
/usr/local/src/php-5.4.4/sapi/fpm/init.d.php-fpm
#重新加载php-fpm
四、测试mcrypt扩展是否已安装成功
在网站目录下新建一个info.php测试页面,写上下面代码,保存
phpinfo();
在浏览器中打开info.php 会看到如下的信息
说明mcrypt扩展已经安装成功
至此,Linux下php安装mcrypt扩展完成。
&&&&&>> 本文链接:>> 订阅本站:>> 转载请注明来源: >>
&&系统运维技术交流QQ群:①& ②& ③&
【上篇】【下篇】
您可能还会对这些文章感兴趣!
您必须才能发表留言!
本分类最新文章
日志总数:336篇
评论总数:1030条
分类总数:70个
标签总数:479个
友情链接:36个
网站运行:2529天
最后更新:日
欢迎PR值≥3的IT类技术博客与本站友情链接(申请前请先做好本站链接)
Copyright&
系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接CentOS下php安装mcrypt扩展
(1)、确认你的linux没有安装mcrypt库,如果已安装,跳过安装步骤
[root@test-206 ~]# yum list installed|grep mcrypt
libmcrypt.x86_64
2.5.8-4.el5.centos
libmcrypt-devel.x86_64
2.5.8-4.el5.centos
mcrypt.x86_64
2.6.8-1.el5
以上显示已经安装过,若没有,则按以下两种方式安装:
(方法一)yum命令懒人安装
yum install libmcrypt libmcrypt-devel mcrypt mhash
执行后会显示即将安装的相关库,你可以根据你的linux限定x86_64或者i386,如yum install libmcrypt.x86_64(如果yum命令无法连接仓库,请检查你的/etc/yum.repos.d/里的文件正确性,以及你的/etc/host是不是可达里面的域名)
Dependencies Resolved
================================================================================
Repository
================================================================================
Installing:
2.5.7-5.el5
2.5.8-4.el5.centos
libmcrypt-devel
2.5.7-5.el5
libmcrypt-devel
2.5.8-4.el5.centos
2.6.8-1.el5
0.9.2-6.el5
0.9.9-1.el5.rf
7 Package(s)
0 Package(s)
Total download size: 731 k
Is this ok [y/N]:
确定安装,最后显示
Installed:
libmcrypt.x86_64 0:2.5.8-4.el5.centos
libmcrypt-devel.x86_64 0:2.5.8-4.el5.centos
mcrypt.x86_64 0:2.6.8-1.el5
mhash.x86_64 0:0.9.9-1.el5.rf
(方法二)源码编译安装,去下载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 ):
2 .先安装Libmcrypt
#tar -zxvf libmcrypt-2.5.8.tar.gz
#cd libmcrypt-2.5.8
#./configure
#make install 说明:libmcript默认安装在/usr/local
3.安装mhash
#tar -zxvf mhash-0.9.9.9.tar.gz
#cd mhash-0.9.9.9
#./configure
#make install
4.安装mcrypt
#tar -zxvf mcrypt-2.6.8.tar.gz
#cd mcrypt-2.6.8
#LD_LIBRARY_PATH=/usr/local/lib ./configure
#make install
最后,还是检查下,是否安装成功
(2)、安装php的mcrypt扩展(动态加载编译)
下载php下的mcrypt扩展或者直接下载php的完整安装包
网页下找到自己服务器的php版本,下载后tar解压(本人的是php5.3.3)
进入ext/mcrypt文件夹
[root@*_* 14:45 ~]
执行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:
Zend Module Api No:
Zend Extension Api No:
执行完后,会发现当前目录下多了一些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 gcc
configure: error: no acceptable C compiler found in $PATH
直到不报错,出现:config.status: creating config.h,执行以下命令
[root@*_* 15:06 mcrypt]# make && make install
最后的最后,会提示你如下,说明你大功告成了
Installing shared extensions:
/usr/lib64/php/modules/
顺便检查下/usr/lib64/php/modules/里的mrcypt.so扩展是否已经创建成功
然后的事就简单了,给你的php.ini添加一条extension=mcrypt.so
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 php7.2 mcrypt扩展 的文章

 

随机推荐