浅析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 at(@)符号的用法简介
Jul 11 PHP
php设计模式 Command(命令模式)
Jun 26 PHP
zf框架的zend_cache缓存使用方法(zend框架)
Mar 14 PHP
mantis安装、配置和使用中的问题小结
Jul 14 PHP
让ThinkPHP支持大小写url地址访问的方法
Oct 31 PHP
php+mysql实现无限分类实例详解
Jan 15 PHP
PHP使用JSON和将json还原成数组
Feb 12 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
orm获取关联表里的属性值
Apr 17 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
Laravel框架自定义公共函数的引入操作示例
Apr 16 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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
PHP5 面向对象程序设计
2008/02/13 PHP
hessian 在PHP中的使用介绍
2010/12/13 PHP
禁止你的左键复制实用技巧
2013/01/04 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
[13:40]TI3青蛙君全程回顾 DOTA2我们为梦想再战
2013/09/13 DOTA
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python模拟登录12306的方法
2014/12/30 Python
利用Python爬取可用的代理IP
2016/08/18 Python
python实现单向链表详解
2018/02/08 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
python pygame实现2048游戏
2018/11/20 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
Java基础知识面试题
2014/03/25 面试题
检讨书格式
2015/01/23 职场文书
决心书格式及范文
2019/06/24 职场文书
mysql如何配置白名单访问
2021/06/30 MySQL
配置nginx负载均衡
2022/05/06 Servers