浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)


Posted in PHP onJuly 05, 2013

一:Mcrypt简介
Mcrypt是PHP的一个扩展,完成了常用加密算法的封装。其实该扩展是对mcrypt标准类库的封装,mcrypt完成了相当多的常用加密算法,如DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 和 GOST加密算法,并且提供了CBC、OFB、CFB 和 ECB 四种块加密的模型。

二:安装libmcrypt依赖库
要使用该扩展,必须首先安装mcrypt标准类库,注意的是mcrypt软件依赖libmcrypt和mhash两个库。
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
1.下载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
#make install
说明:libmcript默认安装在/usr/local
安装完后重启机器

3.再安装mhash
#tar -zxvf mhash-0.9.9.9.tar.gz
#cd mhash-0.9.9.9
#./configure
#make
#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
#make install
说明:由于在配置Mcrypt时,会找不到libmcrypt的链接库,导致无法编译,因为Libmcrypt的链接库在/usr/local/lib文件夹下。
因次,在配置mcrypt时要加入LD_LIBRARY_PATH=/usr/local/lib导入键接库。

三.安装PHP的Pecl扩展mcrypt
注意mcrypt是PHP自带的Pecl扩展,所以只要去PHP的解压缩目录去找mcrypt包即可。


1.动态加载
使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想重装整个PHP,于是可以采用动态编译,使用phpize。需要注意的是要有与现有php完全相同的php压缩包。
#cd /usr/php-5.4.8/ext/mcrypt
#/usr/local/webserver/php/bin/phpize
#./configure --with-php-config=/usr/local/webserver/php/bin/php-config
#make && make install
给你的php.ini添加一条extension=mcrypt.so

重启apache
# /usr/local/apache2/bin/apachectl restart
查看phpinfo(),mcrypt以及安装好浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
安装完成
--------------------------
2.静态编译
在任意PHP文件中加入函数 phpinfo(),即可取得目前PHP的配置
在这些配置后面新增需要加入的配置:--with-mcrypt --with-mhash
然后进入php源代码目录make clean(一定需要) ,然后执行这条完整的configure命令,依次

make
make install
根据你的需要加上所要的配置,例如:
./configure --with-apxs2=/usr/local/web/apache/bin/apxs --with-mcrypt --with-mhash
//./configure --with-apxs2=/usr/local/web/apache/bin/apxs --with-mcrypt --with-mhash --with-libxml-dir --enable-bcmath --enable-sockets
PHP 相关文章推荐
PHP防CC攻击实现代码
Dec 29 PHP
PHP的可变变量名的使用方法分享
Feb 05 PHP
PHP基础陷阱题(变量赋值)
Sep 12 PHP
PHP 文件系统详解
Sep 13 PHP
PHP使用header()输出图片缓存实例
Dec 09 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
PHP 验证身份证是否合法的函数
Feb 09 PHP
PHP基于DOMDocument解析和生成xml的方法分析
Jul 17 PHP
在Laravel5中正确设置文件权限的方法
May 22 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
Oct 22 PHP
PHP终止脚本运行三种实现方法详解
Sep 01 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 #PHP
浅析PHP的ASCII码转换类
Jul 05 #PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 #PHP
PHP cdata 处理(详细介绍)
Jul 05 #PHP
PHP的基本常识小结
Jul 05 #PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 #PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
Jul 05 #PHP
You might like
PHP脚本数据库功能详解(中)
2006/10/09 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
PHP面向对象精要总结
2014/11/07 PHP
ucenter通信原理分析
2015/01/09 PHP
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
python线程池threadpool使用篇
2018/04/27 Python
python爬虫实例详解
2018/06/19 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
Pycharm安装python库的方法
2020/11/24 Python
打架检讨书100字
2014/01/19 职场文书
接待员岗位责任制
2014/02/10 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
《观舞记》教学反思
2014/04/16 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
卡特教练观后感
2015/06/08 职场文书
英语投诉信范文
2015/07/03 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
MySQL系列之四 SQL语法
2021/07/02 MySQL