您现在的位置是:首页 > 正文

PHP安装Mcrypt扩展

2024-02-01 03:12:04阅读 1

       在使用PHP开发的过程中,为了提供数据传输的安全性,避免不了使用加密函数,除了使用php本身自带的几个函数,php还提供Mhash和Mcrypt2个扩展库。Mcrypt扩展库支撑的加密算法可以看http://mcrypt.sourceforge.net/,这里有对这个接口的详细介绍。

这里介绍2种安装Mcrypt扩展库的方法,算是对自己安装过程中遇到问题的一个总结。

1. 安装Mcrypt

      安装mcrypt的前提条件是安装 Libmcrypt 和 mhash 这2个库

libmcrypt(libmcrypt-2.5.8.tar.gz ):

http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91774&release_id=487459

       tar -zxvf libmcrypt-2.5.8.tar.gz
       #cd libmcrypt-2.5.8
       #./configure --prefix=$HOME/local/libmcrypt
       #make
       #make install

mhash(mhash-0.9.9.9.tar.gz ):

http://sourceforge.net/project/showfiles.php?group_id=4286&package_id=4300&release_id=645636

       #tar -zxvf mhash-0.9.9.9.tar.gz
       #cd mhash-0.9.9.9
       #./configure ----prefix=$HOME/local/mhash
       #make
       #make install    

       前面2个步骤安装都比较顺利。   

mcrypt(mcrypt-2.6.8.tar.gz ):

       http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91948&release_id=642101

       在安装的mcrypt的过程中,如果遇到

       *** Could not run libmcrypt test program, checking why…
       *** The test program failed to compile or link. See the file config.log for the
       *** exact error that occured. This usually means LIBMCRYPT was incorrectly installed
       *** or that you have moved LIBMCRYPT since it was installed. In the latter case, you
       *** may want to edit the libmcrypt-config script: no
      configure: error: *** libmcrypt was not found

      正如前面所说的依赖关系,这个时候运行

      export path=$HOME/local/libmcrypt/binlibmcrypt_config

    这个步骤搞定,继续检查编译环境,又出现错误

     checking for mhash_keygen in -lmhash... no
     configure: error: "You need at least libmhash 0.8.15 to compile this program.http://mhash.sf.net/"

   export LD_LIBRARY_PATH=$HOME/local/libmcrypt/lib:$HOME/local/mhash/lib
   export LDFLAGS="-L$HOME/local/mhash/lib/ -I$HOME/local/mhash/include/"
   export CFLAGS="-I$HOME/local/mhash/include/"


    ./configure --prefix=$HOME/local/mcrypt/ --with-libmcrypt-prefix=$HOME/local/libmcrypt

     make & make install ,

到这来mcrypt安装完成,接下来就是给php添加扩展了。

2.安装php扩展

1.静态扩展

如果你还没有安装php,可以选择静态安装,静态安装的过程很简单,在./configure 后面添加 –with-mcrypt=dir 配置,完成。

2. 动态扩展

如果已经按照php,又不想重新编译php,则进行动态加载:进入php安装包,找到 ext/mcrypt,在这个目录下执行phpize,前提是phpize安装并且已经添加到环境变量中。之后,就得到configure文件。

     ./configure --with-php-config=/usr/local/php/bin/php-config --with-mcrypt=$HOME/local/libmcrypt
      make install 之后系统。mcrypt.so已经安装到默认目录中去了。

     修改php.ini中指示的extension_dir指向的目录中,将其复制过去。修改php.ini,在最后添加一句extension=mcrypt.so(注意别在最后添加一个空格,为这玩意,找了半小时),最后重启php和nginx服务。运行php -i|grep -i mcrypt查看是否安装成功。




网站文章

  • 计算机二级C语言公共基础知识,以及习题总结(六)数据模型

    计算机二级C语言公共基础知识,以及习题总结(六)数据模型

    数据模型的基本概念 1、数据模型是数据特征的抽象 数据模型描述的内容 (1)数据结构 (2)数据操作 (3)数据约束 数据模型按不同的应用层次分成三种类型 概念数据模型(Conceptual Data...

    2024-02-01 03:11:33
  • selenium 页面加载慢,超时的解决方案

    开发环境:win10-64 python2.7.16 chrome77from selenium import webdriverdriver = webdriver.Chrome(executable_path='chromedriver.exe')driver.get('http://全部加载完成超级慢的网站')user = 'abc...

    2024-02-01 03:11:27
  • Python智力问答小游戏

    Python智力问答小游戏

    在这个Python智力问答小游戏中,我们将提供一系列问题,并编写代码来实现一个简单的问答游戏。玩家将被要求回答一些与Python编程相关的问题,并根据他们的回答来获得得分。接下来,我们需要编写代码来显...

    2024-02-01 03:10:53
  • [EXP公开] CVE-2020-13935: Tomcat WebSocket 拒绝服务漏洞通告

    [EXP公开] CVE-2020-13935: Tomcat WebSocket 拒绝服务漏洞通告

    原创 360CERT [三六零CERT](javascript:void(0)???? 今天 报告编号:B6-2020-110601 报告来源:360CERT 报告作者:360CERT 更新日期:20...

    2024-02-01 03:10:45
  • 常见的语法错误

    1、有缩进 :IndentationError: unexpected indent2、解释器会明确指出错误原因是无法识别的字符“:invalid character ’

    2024-02-01 03:10:37
  • class 文件方法表集合

    class 文件方法表集合

    一点睛 methods:指向常量池索引集合,它完整描述了每个方法的签名。 在字节码文件中,每一个 method_info 项都对应着一个类或者接口中的方法信息。比如方法的访问修饰符(public、pr...

    2024-02-01 03:10:30
  • eCharts工具类

    eCharts工具类

    ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等)...

    2024-02-01 03:10:02
  • 理解React Hooks看这一篇就够了

    理解React Hooks看这一篇就够了

    在React中,Hooks其实就是一个函数,这个函数的命名以use开头、函数return一个结果;React Hooks其实就是封装了一些通用的、公共的方法,就是一些通用的工具。官方Hooks是指Re...

    2024-02-01 03:09:56
  • html前端对象字段去空格,springboot中前台传来的string字符串自动去除前后面的空格...

    服务器后端接收前端传来的字符串带空格,如下现在在后端接收时需要把字符串前后的空格去除掉。解决办法importcom.fasterxml.jackson.databind.Deserialization...

    2024-02-01 03:09:48
  • java ftl转pdf_FreeMarker(二):利用FreeMarker转pdf

    java ftl转pdf_FreeMarker(二):利用FreeMarker转pdf

    1. 设计需求订票成功后,生成一个pdf 文件,用户打印入场票,门票大致如下所示: 2. 设计思想1). 使用FreeMarker 转换 ftl(就是FreeMarker 魔板文件),生成HTML2)...

    2024-02-01 03:09:18