Linux学习-79-mhash和mcrypt安装过程
创始人
2024-04-22 04:52:45

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安装过程

相关内容

热门资讯

互联网现龙虾热,养殖销售培训一... 来源:董藩 一夜之间,中国互联网出现了一个奇观:有人在“养龙虾”,有人在“卖龙虾”,有人在“教...
腾讯2025年营收增长14% ... ◎钱佳滢 记者 操子怡 3月18日,腾讯控股发布2025年财报。在千亿级营收体量基础上,公司依然保持...
日联科技集团股份有限公司关于使... 证券代码:688531 证券简称:日联科技 公告编号:2026-008日联科技集团股份有限公司关于...
盛美半导体设备(上海)股份有限... 证券代码:688082 证券简称:盛美上海 公告编号:2026-014盛美半导体设备(上海)股份有...
深圳市农产品集团股份有限公司关... 证券代码:000061 证券简称:农产品 公告编号:2026-011深圳市农产品集团股份有限公司关于...