Linux学习-79-mhash和mcrypt安装过程

114 篇文章 8 订阅
17.4 mhash和mcrypt安装过程
  • mhash源码包安装:mhash 是基于离散数学原理的不可逆向的PHP加密方式扩展库。mhash 可以用于创建校验数值,消息摘要,消息认证码,以及无须原文的关键信息保存(如密码)等。安装步骤如下:
#进入解压缩目录
[root@CncLucZK src]# cd mhash-0.9.9.9
#没有指定安装位置。因为在mcrypt包安装时,会在默认位置查找mhash包,如果指定了安装位置,那么mcrypt包在安装时会报错
[root@CncLucZK mhash-0.9.9.9]# ./configure
...
config.status: creating include/mutils/mhash_config.h
config.status: executing depfiles commands
#编译
[root@CncLucZK mhash-0.9.9.9]# make
#编译安装。把安装过程保存在mhash_install.log文件中,便于删除
[root@CncLucZK mhash-0.9.9.9]# make install >> /root/mhash_install.log
  • mcrypt源码包安装:mcrypt 是 PHP 里面重要的加密支持扩展库,是对mcrypt标准类库的封装,mcrypt支持 20 多种加密算法和 8 种加密模式。如DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 和 GOST加密算法,CBC、OFB、CFB 和 ECB 四种块加密的模型。mcrypt 要比 libmcrypt 更加先进,在很多项目中必须使用 mcrypt 加密方式。注意,在安装 mcrypt 之前,必须先正确安装 libmcrypt 和 mhash。完成了常用加密算法的封装。
#进入源码目录
[root@CncLucZK ~]# cd /usr/local/src/mcrypt-2.6.8
#LD_LIBRARY_PATH用于指定libmcrypt和mhash库的位置
#./configure为编译前准备命令,——with-libmcrypt-prefix用于指定libmcrypt软件位置
[root@CncLucZK mcrypt-2.6.8]# LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
#编译
[root@CncLucZK mcrypt-2.6.8]# make
#编译安装
[root@CncLucZK mcrypt-2.6.8]# make install

注意,在这里 mcrypt 并没有安装完成。因为mcrypt是PHP自带的Pecl扩展,所以只要去PHP的解压缩目录去找mcrypt包即可。

这一点区别于PHP安装第三方扩展,所以需要等到 PHP 安装完成之后,再继续安装。

  • PHP 模块安装成功后,才能按照以下步骤继续安装 mcrypt。
  • **动态加载方式:**使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想重装整个PHP,于是可以采用动态编译,使用phpize。

1.扩展包的编译安装:到/usr/local/src/php-5.4.25/ext/mcrypt等扩展路径下用/usr/local/php/bin/phpize的命令加载到php环境中,这个目录下有很多自带的扩展源码,缺少什么扩展只需要进入这个扩展目录下,再运行Phpize即可。命令如下:

#再php-8.0.0/ext的扩展包下没有这个mcrypt模块,所以需要将php-5.4.25/ext/mcrypt
[root@CncLucZK ~]# cd /usr/local/src/php-5.4.25/ext/mcrypt
#使用phpize加载PDO模块
[root@CncLucZK mcrypt]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20200930
Zend Module Api No:      20200930
Zend Extension Api No:   420200930

#编译前配置:指定php-config文件的位置,调用libmcrypt 
[root@localhost mcrypt]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mcrypt=/usr/local/libmcrypt
#编译安装
[root@localhost mcrypt]# make && make install

2.修改PHP配置文件:要让 PHP 可以识别和使用 memcache 和 mcrypt 模块,还需要修改一下 PHP 的配置文件,命令如下:

[root@localhost mcrypt]# vi /usr/local/php/etc/php.ini
#修改PHP配置文件
extension_dir = "./"
#在这个文件中找到这句话,把它改为以下这句话
extension_dir="/usr/local/php/lib/php/extensions/no-debug-zts-20200930/"
#新加入以下两句话
extension="memcache.so";
extension="mcrypt.so";

安装完成之后,重启 apache,就可以在 phpinfo 页面中看到这两个模块了。

  • 静态编译:在PHP编译安装时,进入php源代码目录进行编译,先make clean(一定需要)上次的Makefile文件 ,然后执行configure命令时加入的配置:
./configure	\
--with-mcrypt \
--with-mhash

最后进行编译安装 make && make install

下一篇:Linux学习-80-zlib、libpng和jpeg6安装过程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值