在微信公众平台接入服务器配置时,提示call to undefined function mcrypt_module_open(),这是因为mcrypt扩展从php 7.1.0开始废弃;自php 7.2.0起,会移到pecl。而我的环境是Debian/PHP7.3.11。所以就在网上找了安装mcrypt扩展的教程


查看PHP版本

~# php -version
PHP 7.3.11-1~deb10u1 (cli) (built: Oct 26 2019 14:14:18) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.11-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

检测mcrypt是否已经安装

~# php -m | grep mcrypt

安装前准备工作

~# apt-get install php-dev libmcrypt-dev php-pear

安装mcrypt PHP 扩展

~# pecl channel-update pecl.php.net
Updating channel "pecl.php.net"
Update of Channel "pecl.php.net" succeeded

~# pecl install channel://pecl.php.net/mcrypt-1.0.2
...
...
Build process completed successfully
Installing '/usr/lib/php/20180731/mcrypt.so'
install ok: channel://pecl.php.net/mcrypt-1.0.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=mcrypt.so" to php.ini

修改配置文件

因为我安装的是php7.3-fpm 所有两个配置文件都修改了吧

/etc/php/7.3/cli/php.ini
/etc/php/7.3/fpm/php.ini

都加入这行extension=mcrypt.so,重启服务/etc/init.d/php7.3-fpm restart

再次检测是否安装

~# php -m | grep mcrypt
mcrypt

参考资料:Install PHP mcrypt on Debian 10/PHP 7.3

标签: none

评论已关闭