升级 php 7.2 后,使用微信提供的加解密代码时,提示 call to undefined function mcrypt_module_open() ;大脑疯狂运转1秒钟后,得出结论:php 7.2的扩展有变动;查阅相关资料知晓,mcrypt 扩展从 php 7.1.0 开始废弃;自 php 7.2.0 起,会移到 pecl。还好,安装过程不复杂。
环境:centos 7

yum 安装依赖包:

  1. # yum install libmcrypt libmcrypt-devel mcrypt mhash

在 php 官网下载 mcrypt 包

扩展包官网:http://pecl.php.net/packages.php

  1. # wget http://pecl.php.net/get/mcrypt-1.0.1.tgz
  2. # tar xf mcrypt-1.0.1.tgz
  3. # cd mcrypt-1.0.1

编译安装 mcrypt

  1. # /usr/local/php/bin/phpize
  2. # ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install

在php.ini加上扩展即可

  1. extension=mcrypt.so

重启 php-fpm

  1. # /etc/init.d/php-fpm restart