为PHP添加mcrypt扩展模块

简介:

PHP程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障。PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展库McryptMhash

其中,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。PHP加密扩展库Mcrypt的算法和加密模式

Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示,结果如下:

Mcrypt支持的算法有:cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes

Mcrypt支持的加密模式有:cbc cfb ctr ecb ncfb nofb ofb stream

这些算法和模式在应用中要以常量来表示,写的时候加上前缀MCRYPT_和MCRYPT_来表示,如下面Mcrypt应用的例子:

DES算法表示为MCRYPT_DES;
ECB模式表示为MCRYPT_MODE_ECB;

基本原理是:首先使mcrypt软件能够运行,然后安装php扩展模块,并在php.ini配置。
这里注意的是mcrypt软件依赖libmcrypt和mhash两个库,所以安装配置顺序从右至左
一,下载安装mcrypt
1.先去http://www.sourceforge.net下载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/文件夹下。因些在配置mcrypt时要加入LD_LIBRARY_PATH=/usr/local导入键接库
二, 安装PHP扩展模块
1. 静态编译
在任意PHP文件中加入函数 phpinfo(),即可取得目前PHP的配置
在这些配置后面新增需要加入的配置:’–with-mcrypt=/usr/local/include’
然后进入php源代码目录,执行这条完整的configure命令
配置完成,下面进行源码包的制作和安装
make clean (一定需要)
make
make install
2. 动态加载
使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,于是可以采用phpize。方法是:
要有与现有php完全相同的php压缩包 。我用的是php-5.2.6.tar.gz。展开后进入里面的ext/mcrypt目录 (里面是mcrypt的php扩展),然后执行/usr/local/php/bin/phpize。phpize是安装php时安装好的一个工具,如果你的机器没有安装phpize工具,那么可能还是要make,make install php,仅仅为了得到phpize.
执行完后,会发现当前目录下多了一些configure文件,如果没报错,则根据提示运行
   ./configure --with-php-config=/usr/local/php/bin/php-config
    注意要先确保/usr/local/php/bin/php-config存在。
    make
    make install
Php代码
./configure --with-php-config=/usr/local/php/bin/php-config
make install 之后系统会提示你mcrypt.so文件所在的目录。根据php.ini中指示的extension_dir指向的目录中,将其复制过去。修改php.ini,在最后添加一句extension=mcrypt.so
最后重启APACHE服务,万事OK。



本文转自 houzaicunsky 51CTO博客,原文链接:http://blog.51cto.com/hzcsky/481402

相关文章
|
2月前
|
运维 Unix Linux
Linux系统 PHP安装expect扩展详解
Linux系统 PHP安装expect扩展详解
57 5
|
9月前
|
PHP Apache
PHP环境搭建(配置php模块到apache服务器)
PHP环境搭建(配置php模块到apache服务器)
78 0
|
1月前
|
Ubuntu 中间件 Linux
linux php添加扩展zip libzip ZipArchive功能
linux php添加扩展zip libzip ZipArchive功能
24 1
|
1月前
|
Ubuntu 关系型数据库 MySQL
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
25 0
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
|
1月前
|
存储 安全 关系型数据库
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
|
2月前
|
编译器 API PHP
深入PHP扩展开发:打造高效自定义模块
【4月更文挑战第30天】 在追求性能优化和特定功能实现的道路上,PHP提供了一种强大机制——扩展。本文将引导读者通过编写一个简单的PHP扩展来探索扩展开发的世界。我们将涉及从环境搭建到代码实现,再到扩展的编译与加载的完整流程,确保读者能够理解并实践如何创建高效的自定义PHP模块。
|
2月前
|
NoSQL Linux PHP
php添加redis扩展 linux和windos图文详解 l
php添加redis扩展 linux和windos图文详解 l
22 0
|
2月前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
155 0