php error: The Encrypt library requires the Mcrypt extension in codeigniter

谁说我不能喝 提交于 2019-11-29 12:26:29
Wajih OUERIEMI

You should install the PHP mcrypt module;

sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt

And normally you will be good ;)

I was getting this error because i had switched from XAMPP(php5) to XAMPP(php7), for this I replaced my old CI->system->libraries->encrypt.php with new file here:encrypt.php, and it worked.

In this new file we check if mcrypt_encrypt in __construct function support with

            $this->_mcrypt_exists = ( ! function_exists('mcrypt_encrypt')) ? FALSE : TRUE;

and based on that we use different function between mcrypt_encode and _xor_encode like that.

Just to know, if you see this old file in __construct function you will see actual error checking

    if (($this->_mcrypt_exists = function_exists('mcrypt_encrypt')) === FALSE)
    {
        show_error('The Encrypt library requires the Mcrypt extension.');
    }

It worked for me.

Sounds like you need to update your php version.

http://php.net/manual/en/mcrypt.requirements.php
Márcio Brasil

Open your: /etc/php5/apache2/php.ini
Example: sudo gedit /etc/php5/apache2/php.ini
At line 1728, put this code:

extension=mcrypt.so

Then restart your Apache.

AKASH VERMA

Solution works for me is

Before :

$autoload['libraries'] = array('database','session','upload','form_validation','encrypt','pagination');

After :

$autoload['libraries'] = array('database','session','upload','form_validation','pagination');

i just removed encrypt library from autoload libraries.

Aditya Tomar

Best solution is:

change

 $this->load->library('encrypt');

to

 $this->load->library('encryption');

with php 7 and above mcrypt need not to be loaded manually so both of the solution will work.

  1. $this->load->library('encrypt'); change to $this->load->library('encrypt');

  2. Just remove encrypt from autoload

    $autoload['libraries'] = array('database','session','upload','form_validation','encrypt','pagination');

Change to

$autoload['libraries'] = array('database','session','upload','form_validation','encrypt','pagination');

Just Go to php version in cpanel

and change version to 5.x

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!