浅析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 正则匹配函数体
Aug 25 PHP
php设计模式 Strategy(策略模式)
Jun 26 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
Jun 08 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
php使用Imagick生成图片的方法
Jul 31 PHP
分享php邮件管理器源码
Jan 06 PHP
Zend Framework基本页面布局分析
Mar 19 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
PHP封装XML和JSON格式数据接口操作示例
Mar 06 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 10 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 cookis创建实现代码
2009/03/16 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
php简单防盗链实现方法
2015/07/29 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
Js注册协议倒计时的小例子
2013/06/24 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
基于Python和Scikit-Learn的机器学习探索
2017/10/16 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
英国领先的游戏零售商:GAME
2019/09/24 全球购物
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
生产部统计员岗位职责
2014/01/05 职场文书
决心书格式范文
2015/09/23 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang
python 中的@运算符使用
2021/05/26 Python
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL
SpringBoot快速入门详解
2021/07/21 Java/Android
MySQL数据库表约束讲解
2022/06/21 MySQL