Важно отметить, что расширение mcrypt не рекомендуется к использованию в более новых версиях PHP, начиная с версии 7.2, так как оно было помечено как устаревшее и будет удалено из ядра PHP в будущем. Вместо этого, рекомендуется использовать более современные алгоритмы шифрования, такие как AES.
Однако, если вы все еще хотите использовать mcrypt в Opencart, вам необходимо выполнить следующие шаги:
- Убедитесь, что расширение mcrypt установлено на вашем сервере. Вы можете проверить это, выполнив команду «php -m» в терминале или файле phpinfo().
- Найдите файл php.ini на вашем сервере. Если он не существует, создайте его.
- Откройте файл php.ini и найдите строку «;extension=mcrypt.so» (если вы используете Linux) или «;extension=php_mcrypt.dll» (если вы используете Windows).
- Раскомментируйте эту строку, убрав точку с запятой в начале строки.
- Сохраните файл php.ini и перезагрузите веб-сервер, чтобы изменения вступили в силу.
После выполнения этих шагов mcrypt должен быть включен и готов к использованию в Opencart. Однако, для лучшей безопасности и поддержки более современных алгоритмов шифрования, рекомендуется перейти на более новые версии PHP и использовать более современные методы шифрования.
Возможно вам будут интересны следующие статьи:
Популярные статьи:
Возможно вам будет это полезно:
I’m trying to install OpenCart but get the following warning:
“Warning: mCrypt extension needs to be loaded for OpenCart to work!”
Since I’m a noob on this, could someone point me in the right direction on how to solve this? Google don’t really help me out here 🙁
Thanks!
asked Aug 1, 2017 at 19:05
3
I solved this issue by put in COMMENT the error message validation for mCrypt inside the file
/install/controller/install/step_2.php change inside private function validate()
//if (!function_exists('mcrypt_encrypt')) {
// $this->error['warning'] = $this->language->get('error_mcrypt');
//}
and voila
and after install this extension
Then, you may want to try this extension:
(https://www.opencart.com/index.php?rout … n_id=35487)
answered Feb 20, 2020 at 13:55
So you said you have FTP access and you can edit php.ini.
If the server has mcrypt installed but not enabled then if you add:
extension=mcrypt.so
then save php.ini and upload, this should work.
Note that some servers don’t load user’s php.ini, instead they are looking for a .user.ini file in root folder.
I would suggest you, if my above answer doesn’t help you to contact your hosting provider.
answered Aug 3, 2017 at 9:57
0
If you’re using a linux system and you have access to the console, you can just activate the mcrypt
module in the php.ini
.
-
Type into your console:
$ sudo php5enmod mcrypt
This will enable the module. If you are using PHP 7 instead of PHP 5 use
phpenmod
instead. -
If you get an error, install the module first with
$ sudo apt-get install php5-mcrypt
or for PHP 7 with
$ sudo apt-get install php7.0-mcrypt
-
After this you have to restart your webserver. Use this command for apache2
$ sudo service apache2 restart
or this command for nginx
$ sudo service nginx restart
If you dont have access to your terminal by any reason, it could be possible to enable it trough the control panel (cPanel, Plesk, …). In the most cases it’s a one-click activation and not really complicated.
answered Aug 1, 2017 at 19:10
DanDan
5,0802 gold badges14 silver badges30 bronze badges
1
In case you are using apache2 on ubuntu :
First try to enable mcrypt using command:
sudo phpenmod mcrypt
If mcrypt is not installed, install it using below commands for PHP
PHP 5.6 :
sudo apt-get install php5.6-mcrypt
PHP 7.0:
sudo apt-get install php5.6-mcrypt
Enable mcrypt after insatallation and restart apache
sudo phpenmod mcrypt
sudo service apache2 restart
answered Sep 8, 2017 at 7:47
BSBBSB
2,20016 silver badges25 bronze badges
The only solution that always works with me it to use PHP 5 & mySQL 5 (5.x anything)
And in the hosting, assign the php version 5 (outdated) to the website, also make sure that the database is mySQL (5.x)
Thanks
answered Dec 14, 2020 at 8:18
Adel MouradAdel Mourad
1,33216 silver badges13 bronze badges
Я пытаюсь установить OpenCart, но получаю следующее предупреждение:
«Внимание: для работы OpenCart необходимо загрузить расширение mCrypt!»
Поскольку я новичок в этом вопросе, может ли кто-нибудь указать мне правильное направление, как решить эту проблему? Google не очень помогает мне здесь 🙁
Спасибо!
-4
Решение
Итак, вы сказали, что у вас есть доступ по FTP, и вы можете редактировать php.ini.
Если на сервере установлен mcrypt, но он не включен, добавьте:
extension=mcrypt.so
затем сохраните php.ini и загрузите, это должно работать.
Обратите внимание, что некоторые серверы не загружают php.ini пользователя, вместо этого они ищут файл .user.ini в корневой папке.
Я бы посоветовал вам, если мой ответ не поможет вам связаться с вашим хостинг-провайдером.
1
Другие решения
Если вы используете систему Linux и у вас есть доступ к консоли, вы можете просто активировать mcrypt
модуль в php.ini
,
-
Введите в вашей консоли:
$ sudo php5enmod mcrypt
Это включит модуль. Если вы используете PHP 7 вместо PHP 5, используйте
phpenmod
вместо. -
Если вы получили ошибку, сначала установите модуль с
$ sudo apt-get install php5-mcrypt
или для PHP 7 с
$ sudo apt-get install php7.0-mcrypt
-
После этого вы должны перезапустить ваш веб-сервер. Используйте эту команду для apache2
$ sudo service apache2 restart
или эта команда для nginx
$ sudo service nginx restart
Если по какой-либо причине у вас нет доступа к вашему терминалу, можно включить его через панель управления (cPanel, Plesk, …). В большинстве случаев это активация в один клик и не очень сложно.
0
wamp поставляется с расширением mCrypt, но не устанавливает его по умолчанию. Если вы используете wampsever на вашем компьютере или сервере, и wamp запущен, нажмите на зеленый значок — выберите PHP — расширения PHP, там вы проверите все отсутствующие расширения, включая mCrypt. тогда наслаждайтесь своей openCart или любым другим материалом.
Это хорошо сработало для меня.
0
Если вы используете apache2 на убунту :
Сначала попробуйте включить mcrypt с помощью команды:
sudo phpenmod mcrypt
Если mcrypt не установлен, установите его с помощью приведенных ниже команд для PHP
PHP 5.6:
sudo apt-get install php5.6-mcrypt
PHP 7.0:
sudo apt-get install php5.6-mcrypt
Включить mcrypt после инсталляции и перезапустить apache
sudo phpenmod mcrypt
sudo service apache2 restart
0
I’m using MAMP and ive installed a fresh version of Opencart, its telling me i dont have MCrypt enabled, when i go to terminal and type:
php -m | grep mcrypt
output: mcrypt
I can locate the library but it doesn’t seem to be enabled.
Emre Bolat
4,2165 gold badges28 silver badges32 bronze badges
asked Feb 28, 2017 at 9:24
6
That fact that php -m | grep mcrypt
returns mcrypt
, means the mcrypt library is INSTALLED and ENABLED.
Although it may just be enabled for CLI.
You can try editing the PHP.ini file and adding the following line under the ; Extensions
section:
extension=mcrypt.so
Restart Apache / MAMP after saving php.ini file.
To find the correct php.ini
file to edit, run the following command line:
php --info | grep php.ini
(If the line already exists, you may just need to remove the ;
thats in front of it.)
answered Feb 28, 2017 at 10:00
6
I have tried so many ways but had no luck.
After a lot of trials finally came up with a solution.
Go to bin directory inside current active PHP version directory. In my case it is /Applications/MAMP/bin/php/php7.2.8/bin
It might be different in your case. Now run the below command with sudo
sudo ./pecl install channel://pecl.php.net/mcrypt-1.0.1
Now You should add extension=mcrypt.so
to php.ini
Restart MAMP Service and check if it is working.
answered Nov 29, 2018 at 10:53
1
I had this issue following upgrading to MAMP 5.1 and using PHP 7.1.20…
The issue I found was not that MAMP PHP did not have mcrypt installed, it certainly does come bundled.
The issue was that the MAMP PHP configuration option “Make this version available on the command line” was NOT working and so the version of PHP I was using on the command line [in my case] was the macOS default PHP 7.1.16 without mcrypt (the version included in macOS by default)
Reverting to the old cli php alias meant the correct MAMP version of PHP was used on the command line
Added to .bash_profile
alias php='/Applications/MAMP/bin/php/php7.1.20/bin/php'
answered Sep 4, 2018 at 11:16
FlipmediaFlipmedia
4804 silver badges16 bronze badges
1
try in console
pecl install mcrypt
answered Dec 3, 2019 at 21:40
AlexAlex
7691 gold badge11 silver badges18 bronze badges
Using Brew:
- Install mcrypt:
brew install mcrypt
- In Mamp:
File
->Edit Template
->PHP (php.ini)
->{PHP version}
-
Find ‘Dynamic Extensions’ in the text and add the following below (after the lines starting with ‘;’):
extension=mcrypt.so
-
Save, restart and test (with
php -i | grep mcrypt
for example)
answered Mar 19, 2020 at 15:39
TumTum
6,7972 gold badges24 silver badges23 bronze badges
1
-
Sanik
Активный пользователь- Сообщения:
- 266
- Симпатии:
- 3
Опенкарт 2.3 качал отсюда, при установке на OpenServer, конфигурация PHP 7.2 , апач PHP 7, MySQL 5.6 не пропускает второй шаг, на PHP 7.1 при той же конфигурации проверку проходит. Файл php_curl.dill в папке ext для PHP 7.2 присутствует и в PHP.ini для PHP 7.2 строчка extension=php_curl.dll раскоментирована, кто сталкивался с такой проблемой?
-
Sanik
Активный пользователь- Сообщения:
- 266
- Симпатии:
- 3
Сейчас нашел…
Начиная с PHP 7.1, php-mcrypt был устарел. А с PHP 7.2 он был полностью удален.
И как быть, если OC запрашивает его? -
Используйте 7.1
Нет большого смысла рваться за 7.2
Каждая версия опенкарта работает не на всех версиях php -
DiMoss
Продвинутый пользователь- Сообщения:
- 862
- Симпатии:
- 236
У меня на php7.2 движок завелся и нормально работает. Честно говоря, не помню была ли проблема конкретно с данным модулем, но помню, что пришлось подключать старый репозиторий, чтобы закачать нужные зависимости.