Ошибка не установлены требуемые расширения функции шифрования mcrypt

I have a PHP application written using the Codeigniter framework. When I am trying to run this application on Windows Machine then I am getting below error:

An Error Was Encountered
The Encrypt library requires the Mcrypt extension.

This same application working fine on some random Windows Machine having the same configuration. I have tried on 5 different windows 10 machines and got this error on 3 Machine and worked fine on 2 machines. Here I have used the same installer to install XAMPP on all the machines and the same code, but still don’t know how to make it run smoothly.
I have tried almost all the suggestions available online like to make a change in php.ini but no luck so far.

Sohail Ahmad's user avatar

Sohail Ahmad

7,4695 gold badges27 silver badges46 bronze badges

asked May 26, 2018 at 10:04

Rahul Kumar Singh's user avatar

4

(FOR CI USERS only) If you are switched from CI2 XAMPP(php5) to XAMPP(php7) then, paste encrypt.php in CI->system->libraries folder, after this it should be fine !

answered Jan 23, 2019 at 19:24

Pushpendra Kumar's user avatar

Pushpendra KumarPushpendra Kumar

1,7311 gold badge15 silver badges21 bronze badges

2

For the future comers, I have face this problem too. It is usually issue with php 7.2.

Simply replace encrypt with encryption in autoload.php

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

$autoload['libraries'] = array('database', 'email', 'session', '**encryption**', 'pagination');

Javier C.'s user avatar

Javier C.

7,8695 gold badges41 silver badges53 bronze badges

answered Feb 14, 2019 at 7:20

Abhishek Soni's user avatar

0

To codeigniter developers: some CI releases do not have encrypt listed in autoload

$autoload['libraries'] = array();

Instead, they are loaded under CI_Controller derived controllers.

Search for

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

and replace with:

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

answered Apr 9, 2020 at 9:02

Anatoliy R's user avatar

Anatoliy RAnatoliy R

1,7492 gold badges14 silver badges20 bronze badges

0

On Linux where PHP 5.6 or less…

apt-get install php5-mcrypt

answered Jul 10, 2018 at 1:43

Bira's user avatar

BiraBira

4,5912 gold badges27 silver badges42 bronze badges

After replace Encrypt.php’s Pushpendra Kumar, don’t forget to set :
$config['encryption_key'] = 'encryption_key';

answered Aug 2, 2020 at 6:44

Khamad Ali's user avatar

Khamad AliKhamad Ali

331 silver badge11 bronze badges

you can bypass mbstring by just disabling

$config['sess_encrypt_cookie'] = TRUE;

in config.php file.

F. Müller's user avatar

F. Müller

3,9698 gold badges38 silver badges49 bronze badges

answered Feb 3 at 7:24

Aminnazir's user avatar

Open php.ini

search for ;extension=php_mcrypt.dll

then remove ; infront of it to uncomment it.

save the php.ini file

answered May 26, 2018 at 10:45

spoofie's user avatar

Run the following code to check if the mccrypt is enabled in your PHP Settings.

<?php phpinfo(); ?>

By default, it is enabled on some server so that’s why it is working on the random machine.

The quickest method to enable php-mcrypt on windows server – all you need to do is:

  • Find php.ini (main php configuration file)

  • Open and search for;extension=php_mcrypt.dll )

  • Uncomment/remove “;” and save the php.ini

answered May 26, 2018 at 10:13

pspatel's user avatar

pspatelpspatel

5062 gold badges7 silver badges19 bronze badges

4

For Windows users

Autoload.php file will be as follows

$autoload[‘libraries’] = array(‘database’, ‘session’, ‘form_validation’, ‘encrypt’, ‘template’, ‘finediff’, ‘parser’);

From the above remove encryption like below, after that restart apache services then it will works….

$autoload[‘libraries’] = array(‘database’, ‘session’, ‘form_validation’, ‘template’, ‘finediff’, ‘parser’);

answered Aug 3, 2018 at 7:02

Nagababu m's user avatar

1

I was using PHP 7.2.xx version of php and followed the following steps:

Mcrypt PECL extenstion

sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install libmcrypt-dev
sudo pecl install mcrypt-1.0.1

Update the ini file with these commands:

sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini"
sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini"

Verifying the installation:

php7.2-sp -i | grep mcrypt

answered Oct 21, 2019 at 9:20

Shashank Saxena's user avatar

This is the result of the deprecation of Mycrypt extension. If you are using PHP > 7.1 and you need it you can follow the guidelines on this link Add mycrypt extension after PHP 7.1

Content from github link:

1-First, you should download the suitable version for your system from here:
https://pecl.php.net/package/mcrypt/1.0.3/windows

2-Later, you should copy php_mcrypt.dll under ../xampp/php/ext/

3-you should enable extension like extension=mcrypt from
xampp/php/php.ini

personly I modified the php.ini file and i add this lines :

extension=imap extension=mcrypt

of course, these two lines have the 3 dll file saved on
../xampp/php/ext/ as :

php_imap.dll php_mcrypt.dll

jsims281's user avatar

jsims281

2,2062 gold badges30 silver badges57 bronze badges

answered Jul 14, 2020 at 12:25

NgaizaJr's user avatar

0


Ошибка регулярного резервного копирования Битрикс

Ошибка регулярного резервного копирования Битрикс

02.09.2015

Во время администрирования сайта столкнулся с тем, что после непонятной ошибки  как корректно отключить регулярное резервное копирование Битрикс. В настройках все выключено, но регулярное резервное копирование продолжает делать попытки создания резервной копии. В настройках стоит метод запуска — через прямой запуск /bitrix/modules/main/tools/backup.php

Изначально я подумал. что регулярное резервное копирование слетело после обновления Битрикс.
По логу не было видно данных по отключению задания на регулярное копирование. Попытка включить регулярное копирование, а затем отключить в итоге не дает результата. При включении выдает ошибку:
«Невозможно включить автоматическое резервное копирование: необходим модуль облачных сервисов «1С-Битрикс» или агенты должны выполняться на cron.»
В «Настройки — Настройки продукта — Модули» модуль bitrixcloud как был так и остался установлен.

Идем далее, в проверке системы выдает такие ошибки:
Ошибка! Не установлены требуемые расширения: Функции шифрования MCrypt. Поддержка ssl не настроена в php (без функции шифрования MCrypt не сможет создаваться копия с паролем).

Эти ошибки соответственно должны быть устранены. Для этого надо обращаться к администратору сервера. В моем случае это хостинг где обслуживается сайт. Как оказалось ошибка выскочила не после обновления, а после отключения модуля шифрования на сервере. Возможно хостер отключил MCrypt из пакета приложений. Поэтому для начала нужно переподключить его, чтобы задание удалилось из облака.

После подключения MCrypt, повторного включения и выключения регулярного копирования, проблему удалось благополучно решить.

Вид подключения расширение PHP mcrypt в панели управления хостингом nic.ru:

podkluchenie-rasshiriniy

Ещё статьи:

18.01.2023
Нюансы перехода битрикс на РНР 8.0
С февраля битрикс прекращает поддерживать РНР 7.4 и в битрикс сегменте сайтов начался переход на РНР 8 для получения обновлений.
Но без нюансов и ошибок…
ID: 431

10.01.2023
БУС окончательно всё?
Появилась информация от битрикс, что грубо говоря поддержка по отраслевому медицинскому решению от битрикс будет до 1 февраля 2024 года, а что потом б…
ID: 426

30.08.2022
Типовые претензии к подрядчику и к битрикс
По свежим следам я собрал типовые претензии к подрядчику и к битрикс. Мной был проведён аудит и я увидел, что техническое состояние сайта хорошее, нареканий…
ID: 338

Новые статьи в блоге:

Возврат к списку

При оформлении заказа через гугл хром в конце заполнения формы заказа при отправке выскакивает:

[Error]  Call to undefined function mcrypt_get_block_size() (0)
/корневой путь/www/домен.ru/bitrix/modules/netpay.sale/payment/netpay.sale/security.class.php:4

#0:  Security::encrypt(string, string) /корневой  путь/www/домен.ru/bitrix/modules/netpay.sale/payment/netpay.sale/payment.php:88  

#1: require_once(string) /корневой путь/www/домен.ru/bitrix/php_interface/include/sale_payment/netpay.sale/payment.php:3

#2: require(string) /корневой путь/www/домен.ru/bitrix/modules/sale/lib/paysystem/compatibilityhandler.php:209

#3:  BitrixSalePaySystemCompatibilityHandler->includeFile(string)  /корневой  путь/www/домен.ru/bitrix/modules/sale/lib/paysystem/compatibilityhandler.php:65  

#4:  BitrixSalePaySystemCompatibilityHandler->initiatePay(object, NULL)  /корневой  путь/www/домен.ru/bitrix/modules/sale/lib/paysystem/service.php:109

#5:  BitrixSalePaySystemService->initiatePay(object, NULL, integer)  /корневой  путь/www/домен.ru/bitrix/components/bitrix/sale.order.ajax/class.php:6076  

#6: SaleOrderAjax->showOrderAction() /корневой путь/www/домен.ru/bitrix/components/bitrix/sale.order.ajax/class.php:5966

#7: SaleOrderAjax->doAction(string) /корневой путь/www/домен.ru/bitrix/components/bitrix/sale.order.ajax/class.php:6219

#8: SaleOrderAjax->executeComponent() /корневой путь/www/домен.ru/bitrix/modules/main/classes/general/component.php:648

#9:  CBitrixComponent->includeComponent(string, array, boolean)/корневой  путь/www/ домен.ru/bitrix/modules/main/classes/general/main.php:1039

#10:  CAllMain->IncludeComponent(string, string, array, boolean,  array)/корневой путь/www/ домен.ru/personal/order/make/index.php:99

В мозиле все нормально.

Подскажите пожалуйста в чем проблема и как решить.

Расширение MCrypt предназначено для шифрования/дешифрования данных. Оно было признано устаревшим и в итоге, начиная с версии PHP 7.2 его убрали из ядра php. Однако, могут возникнуть ситуации, когда это расширение может понадобится, когда, например, вы работаете с какой-то устаревшей cms или просто старой программой и нет времени или желания переделывать программу.

Расширение MCrypt было перенесено в PECL по адресу https://pecl.php.net/package/mcrypt. На момент написания статьи последняя версия 1.0.3, которая поддерживает PHP 7.2, PHP 7.3 и PHP 7.4, а так же обещает поддержку PHP 8, который пока еще не вышел.

Как установить MCrypt для PHP 7.2, 7.3, 7.4 для Linux

Необходимо выполнить обновление репозитария и затем установить расширение:

$ sudo pecl channel-update pecl.php.net
$ sudo pecl install mcrypt-1.0.3

либо так

sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install libmcrypt-dev
sudo pecl install mcrypt-1.0.3

После установки найдите куда установился файл mcrypt.so. Скорее всего это /usr/lib/php/modules/mcrypt.so или /usr/lib64/php/modules/mcrypt.so

Затем нужно найти php.ini. Не могу указать точный путь, т.к. на разных системах это могут быть абсолютно разные места, например, /etc/php.ini, либо /etc/php/7.2/cli/php.ini или /opt/php72/etc и др. Так же, php.ini может быть в папке пользователя.

В php.ini найдите где добавляются другие расширения (строки начинающиеся «extension=»), либо просто в конце файла, каким-нибудь редактором добавьте строку:

extension=/path_to_mcrypt/mcrypt.so

где вместо path_to_mcrypt напишите свой путь, который находили ранее.

Как установить MCrypt для PHP 7.2, 7.3, 7.4 для Windows

Скачайте архив расширения со страницы PECL https://pecl.php.net/package/mcrypt/1.0.3/windows для нужной версии PHP. Если не уверены, какая именно версия Thread Safe (TS) x86, Non Thread Safe (NTS) x86 или тоже x64 нужна, скачайте все четыре версии. Потом просто попробуете каждую из них и какая заработает, ту и оставите.

В скачанном архиве вам нужен файл php_mcrypt.dll — его нужно распаковать в папку, где установлен ваш PHP в подкаталог ext, где находятся и все другие расширения.

В php.ini найдите где добавляются другие расширения (строки начинающиеся «extension=»), либо в конце файла, добавьте строку:

extension=<path_to_mcrypt>php_mcrypt.dll

где вместо path_to_mcrypt напишите путь, куда распаковали dll-файл.

Вместо полного пути к библиотеки, можно так же в php.ini написать:

extension=php_mcrypt.dll

или так:

extension=mcrypt

Проверить установку можно просто на одном из сайтов своего сервера выполнить php-код: phpinfo();. При этом, должна появиться секция mcrypt:

На этом установка MCrypt для PHP 7.2, 7.3, 7.4 завершена.

Расширение MCrypt предназначено для шифрования/дешифрования данных. Оно было признано устаревшим и в итоге, начиная с версии PHP 7.2 его убрали из ядра php. Однако, могут возникнуть ситуации, когда это расширение может понадобится, когда, например, вы работаете с какой-то устаревшей cms или просто старой программой и нет времени или желания переделывать программу.

Расширение MCrypt было перенесено в PECL по адресу https://pecl.php.net/package/mcrypt. На момент написания статьи последняя версия 1.0.3, которая поддерживает PHP 7.2, PHP 7.3 и PHP 7.4, а так же обещает поддержку PHP 8, который пока еще не вышел.

Как установить MCrypt для PHP 7.2, 7.3, 7.4 для Linux

Необходимо выполнить обновление репозитария и затем установить расширение:

$ sudo pecl channel-update pecl.php.net
$ sudo pecl install mcrypt-1.0.3

либо так

sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install libmcrypt-dev
sudo pecl install mcrypt-1.0.3

После установки найдите куда установился файл mcrypt.so. Скорее всего это /usr/lib/php/modules/mcrypt.so или /usr/lib64/php/modules/mcrypt.so

Затем нужно найти php.ini. Не могу указать точный путь, т.к. на разных системах это могут быть абсолютно разные места, например, /etc/php.ini, либо /etc/php/7.2/cli/php.ini или /opt/php72/etc и др. Так же, php.ini может быть в папке пользователя.

В php.ini найдите где добавляются другие расширения (строки начинающиеся «extension=»), либо просто в конце файла, каким-нибудь редактором добавьте строку:

extension=/path_to_mcrypt/mcrypt.so

где вместо path_to_mcrypt напишите свой путь, который находили ранее.

Как установить MCrypt для PHP 7.2, 7.3, 7.4 для Windows

Скачайте архив расширения со страницы PECL https://pecl.php.net/package/mcrypt/1.0.3/windows для нужной версии PHP. Если не уверены, какая именно версия Thread Safe (TS) x86, Non Thread Safe (NTS) x86 или тоже x64 нужна, скачайте все четыре версии. Потом просто попробуете каждую из них и какая заработает, ту и оставите.

В скачанном архиве вам нужен файл php_mcrypt.dll — его нужно распаковать в папку, где установлен ваш PHP в подкаталог ext, где находятся и все другие расширения.

В php.ini найдите где добавляются другие расширения (строки начинающиеся «extension=»), либо в конце файла, добавьте строку:

extension=<path_to_mcrypt>php_mcrypt.dll

где вместо path_to_mcrypt напишите путь, куда распаковали dll-файл.

Вместо полного пути к библиотеки, можно так же в php.ini написать:

extension=php_mcrypt.dll

или так:

extension=mcrypt

Проверить установку можно просто на одном из сайтов своего сервера выполнить php-код: phpinfo();. При этом, должна появиться секция mcrypt:

На этом установка MCrypt для PHP 7.2, 7.3, 7.4 завершена.

hello guys l have installed php7 from this link
and this link too.

but when i try to run a Laravel based project there is an error coming up as follows

Mcrypt PHP extension required.

I tried to locate mcrypt.so and change the path in mycrpt.ini but i still get the same error i only get this error i Laravel projects

Daniel's user avatar

Daniel

1,1551 gold badge10 silver badges15 bronze badges

asked Apr 4, 2016 at 11:58

Ali Bedaer's user avatar

2

Had the same issue — PHP7 missing mcrypt.

This worked for me in Ubuntu Please try below commands.

sudo apt-get update
sudo apt-get install mcrypt php7.0-mcrypt
sudo apt-get upgrade

Then restarts apache

sudo service apache2 restart

Hope this commands helps!

Artur Haddad's user avatar

Artur Haddad

1,4292 gold badges16 silver badges33 bronze badges

answered Apr 4, 2016 at 12:31

Ankit Sompura's user avatar

3

У меня есть PHP-приложение, написанное с использованием каркаса codeigniter. Когда я пытаюсь запустить это приложение на Windows Machine, я получаю сообщение об ошибке ниже:

Была обнаружена ошибка
Для библиотеки Encrypt требуется расширение Mcrypt.

Это же приложение прекрасно работает на некоторых случайных машинах Windows, имеющих одинаковую конфигурацию. Я пробовал на 5 разных машинах с Windows 10 и получил эту ошибку на 3 машинах и отлично работал на 2 машинах. Здесь я использовал один и тот же установщик для установки XAMPP на все машины и один и тот же код, но все еще не знаю, как заставить его работать гладко.
Я испробовал почти все предложения, доступные в Интернете, как внести изменения в php.ini, но пока не повезло.

0

Решение

Откройте php.ini

ищи ;extension=php_mcrypt.dll

затем удалите ; перед этим раскомментировать.

сохранить файл php.ini

0

Другие решения

Запустите следующий код, чтобы проверить, включен ли mccrypt в настройках PHP.

<?php phpinfo(); ?>

По умолчанию он включен на каком-то сервере, поэтому он работает на случайной машине.

Самый быстрый способ включить php-mcrypt на сервере Windows — все, что вам нужно сделать, это:

  • Найти php.ini (основной файл конфигурации php)

  • Откройте и найдите; extension = php_mcrypt.dll)

  • Раскомментируйте / удалите «;» и сохраните php.ini

0

В Linux, где PHP 5.6 или меньше …

apt-get install php5-mcrypt

0

(Только для пользователей CI) Если вы переключаетесь с CI2 XAMPP (php5) на XAMPP (php7), вставьте encrypt.php в папке CI-> system-> библиотеки, после этого все должно быть в порядке!

0

Для будущих желающих я тоже столкнулся с этой проблемой. Это обычно проблема с PHP 7.2.

Просто замени encrypt с encryption в autoload.php

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

$autoload['libraries'] = array('database', 'email', 'session', '**encryption**', 'pagination');

0

Для пользователей Windows

Файл autoload.php будет выглядеть следующим образом

$ autoload [‘library’] = array (‘database’, ‘session’, ‘form_validation’, ‘encrypt’, ‘template’, ‘finediff’, ‘parser’);

Из вышеперечисленного удалите шифрование, как показано ниже, после этого перезапустите службы Apache, тогда оно будет работать ….

$ autoload [‘library’] = array (‘database’, ‘session’, ‘form_validation’, ‘template’, ‘finediff’, ‘parser’);

-1

Понравилась статья? Поделить с друзьями:
  • Ошибка не установлена схема компоновки данных 1с
  • Ошибка не установлен поддерживаемый сканер
  • Ошибка не установлен плагин госуслуги chrome
  • Ошибка не установлен плагин cryptopro эцп browser
  • Ошибка не указана последовательность word