在PHP 7.2中在Codeigniter中得到错误“未定义的函数mcrypt_create_iv()”

时间:2018-10-01 07:04:50

标签: codeigniter-3 php-7.2

我遇到错误

  

错误-2018-10-01 12:05:23->严重性:错误->异常:调用未定义函数mcrypt_create_iv()/var/www/html/application/controllers/api.php 331

在AWS EC2 ubuntu 16(Php 7.2,Nginx,codeigniter 3.1.9)上部署应用程序

3 个答案:

答案 0 :(得分:2)

mcrypt已从php7.2中删除。不能在PHP 7.2中使用。我创建了新功能并添加了通用帮助器。

if (!function_exists('mcrypt_create_iv')) {
    function mcrypt_create_iv($length) {
        return openssl_random_pseudo_bytes($length, NULL);
    }
}

可能会对其他用户有所帮助。

答案 1 :(得分:1)

安装mcrypt

sudo apt-get install php7.2-mcrypt
sudo systemctl restart nginx.service

答案 2 :(得分:0)

这个 polyfill 对于在 PHP 7.3 上向后兼容 mcrypt 很有用:

https://github.com/phpseclib/mcrypt_compat