升级 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 安装依赖包:
yum install libmcrypt libmcrypt-devel mcrypt mhash
在 php 官网下载 mcrypt 包,php 扩展官网
# wget http://pecl.php.net/get/mcrypt-1.0.2.tgz
# tar xf mcrypt-1.0.2.tgz
# cd mcrypt-1.0.2
编译安装 mcrypt
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
在php.ini加上扩展即可
extension=mcrypt.so
重启 php-fpm
/etc/init.d/php-fpm restart
备注说明:
如果需要新建模块路径:
./ext_skel --extname=mcrypt