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

 更新时间:2013年07月05日 16:56:43   作者:  
本篇文章是对PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)进行了详细的分析介绍,需要的朋友参考下

一: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两个库。

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以及安装好
安装完成
--------------------------
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 采集程序原理分析篇

    由于需要,要写一个简单的PHP采集程序,照例是到网上找了一堆教程,然后照猫画虎,可是发现网上的教程全是似是而非,没有一个真正能用的。
    2010-03-03
  • PHP中isset与array_key_exists的区别实例分析

    PHP中isset与array_key_exists的区别实例分析

    这篇文章主要介绍了PHP中isset与array_key_exists的区别,较为详细的分析了isset与array_key_exists使用中的区别,并实例分析其具体用法,需要的朋友可以参考下
    2015-06-06
  • PHP运行模式汇总

    PHP运行模式汇总

    本文给大家汇总介绍了php的5种运行模式,并进行了简单的对比,非常的细致全面,希望对大家学习使用php能够有所帮助
    2016-11-11
  • PHP 获取ip地址代码汇总

    PHP 获取ip地址代码汇总

    本文给大家汇总介绍了6种php获取IP的方法,有简单有复杂,大家根据自己的项目需求,自由选择吧。
    2015-07-07
  • PHP保姆级API制作教程,不会剁手

    PHP保姆级API制作教程,不会剁手

    复制粘贴代码还不会?再不会就剁手,如下有两种方法,第一种为直接返回图片,第二种为返回json形式,有需要的同学可以借鉴参考下
    2021-09-09
  • php5.3/5.4/5.5/5.6/7常见新增特性汇总整理

    php5.3/5.4/5.5/5.6/7常见新增特性汇总整理

    这篇文章主要介绍了php5.3/5.4/5.5/5.6/7常见新增特性,整理总结了php5.3/5.4/5.5/5.6/7各种常见的新增特性,包括各种语法、关键字、函数、扩展等,需要的朋友可以参考下
    2020-02-02
  • Ajax+PHP快速上手及简单应用说明

    Ajax+PHP快速上手及简单应用说明

    对于Ajax,最核心的一个对象是XMLHttpRequest,所有的Ajax操作都离不开对这个对象的操作
    2013-07-07
  • PHP生成唯一订单号

    PHP生成唯一订单号

    这篇文章主要给大家介绍了一位网友PHP生成唯一订单号的思路和示例,感觉非常不错,需要的朋友可以参考下
    2015-07-07
  • PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】

    PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】

    这篇文章主要介绍了PHP常用排序算法,结合实例形式总结分析了php常见的排序算法,包括基本排序、冒泡排序、快速排序、插入排序等,需要的朋友可以参考下
    2017-02-02
  • PHP环形链表实现方法示例

    PHP环形链表实现方法示例

    这篇文章主要介绍了PHP环形链表实现方法,结合具体实例形式分析了PHP环形链表的定义、创建及遍历等操作技巧与注意事项,需要的朋友可以参考下
    2017-09-09

最新评论