浅析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中文字母数字验证码实现代码
Apr 25 PHP
PHP Memcached应用实现代码
Feb 08 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
Jun 29 PHP
php获取表单中多个同名input元素的值
Mar 20 PHP
基于PHP的简单采集数据入库程序【续篇】
Jul 30 PHP
2014年最新推荐的10款 PHP 开发框架
Aug 01 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
PHP实现微信图片上传到服务器的方法示例
Jun 29 PHP
Laravel使用支付宝进行支付的示例代码
Aug 16 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 PHP
laravel 多图上传及图片的存储例子
Oct 14 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
十大“创意”战术!
2020/03/04 星际争霸
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
php UBB 解析实现代码
2011/11/27 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
PHP模板引擎Smarty中的保留变量用法分析
2016/04/11 PHP
再谈PHP中单双引号的区别详解
2016/06/12 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
js中运算符&& 和 || 的使用记录
2014/08/21 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
nodejs log4js 使用详解
2019/05/31 NodeJs
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
Python简单实现子网掩码转换的方法
2016/04/13 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
Python根据成绩分析系统浅析
2019/02/11 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
python三引号如何输入
2020/07/06 Python
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
小溪流的歌教学反思
2014/02/13 职场文书
搞笑婚礼主持词
2014/03/13 职场文书
协议书范本
2014/04/23 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
考勤制度通知
2015/04/25 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书