Я пытаюсь установить OpenCart, но получаю следующее предупреждение:
«Внимание: для работы OpenCart необходимо загрузить расширение mCrypt!»
Поскольку я новичок в этом вопросе, может ли кто-нибудь указать мне правильное направление, как решить эту проблему? Google не очень помогает мне здесь 🙁
Решение
Итак, вы сказали, что у вас есть доступ по FTP, и вы можете редактировать php.ini.
Если на сервере установлен mcrypt, но он не включен, добавьте:
затем сохраните php.ini и загрузите, это должно работать.
Обратите внимание, что некоторые серверы не загружают php.ini пользователя, вместо этого они ищут файл .user.ini в корневой папке.
Я бы посоветовал вам, если мой ответ не поможет вам связаться с вашим хостинг-провайдером.
Другие решения
Если вы используете систему Linux и у вас есть доступ к консоли, вы можете просто активировать mcrypt модуль в php.ini ,
Введите в вашей консоли:
Это включит модуль. Если вы используете PHP 7 вместо PHP 5, используйте phpenmod вместо.
Если вы получили ошибку, сначала установите модуль с
или для PHP 7 с
После этого вы должны перезапустить ваш веб-сервер. Используйте эту команду для apache2
или эта команда для nginx
Если по какой-либо причине у вас нет доступа к вашему терминалу, можно включить его через панель управления (cPanel, Plesk, …). В большинстве случаев это активация в один клик и не очень сложно.
wamp поставляется с расширением mCrypt, но не устанавливает его по умолчанию. Если вы используете wampsever на вашем компьютере или сервере, и wamp запущен, нажмите на зеленый значок — выберите PHP — расширения PHP, там вы проверите все отсутствующие расширения, включая mCrypt. тогда наслаждайтесь своей openCart или любым другим материалом.
Это хорошо сработало для меня.
Если вы используете apache2 на убунту :
Сначала попробуйте включить mcrypt с помощью команды:
Если mcrypt не установлен, установите его с помощью приведенных ниже команд для PHP
Включить mcrypt после инсталляции и перезапустить apache
Расширение mcrypt не найдено. Пожалуйста, проверьте ваши настройки PHP
Вы получаете сообщение: php5-mcrypt is already the newest version.
Теперь mcrypt нужно подключить.
Делаем обновление переменных в базе данных:
Регистрируем наш mcrypt.ini:
Регистрируем наш mcrypt.so в /etc/php5/mods-available:
Редактируем mcrypt.ini и изменяем расширение в соответствие с mcrypt.so:
Если в phpmyadmin он не включен, включаем, но по умолчанию, он всегда включен:
Проверяем созданы ли новые файлы, они автоматически создаются при включения модуля в phpmyadmin:
Если файлы не созданы, создаём на них символьные ссылки:
Начиная с версии PHP 7.1.0 функция mcrypt объявлена устаревшей, а начиная с PHP 7.2 попытка использовать это расширение вызывает ошибку.
Пример подобной ошибки:
Если вы сталкиваетесь с ошибкой модуля mcrypt, то для её решения откройте конфигурационный файл PHP, обычно он называется php.ini.
Чтобы найти этот файл используйте команду:
Найдите там строку
и закомментируйте её, чтобы получилось так (также строку можно просто удалить):
Замена для mcrypt
В качестве замены для mcrypt можно использовать openssl_encrypt.
Установка openssl_encrypt
Для использования функций OpenSSL вам необходимо установить библиотеку OpenSSL. PHP версий >= 7.1.0 требуют OpenSSL >= 1.0.1.
Для поддержки OpenSSL в PHP вам необходимо скомпилировать PHP с опцией —with-openssl[=DIR].
Поскольку в Linux PHP обычно ставят из репозиториев, а не компилируют из исходных кодов, вы можете проверить, поддерживает ли ваша версия PHP OpenSSL следующей командой:
Как видно на скриншоте, моя версия PHP была скомпилирована с опцией —with-openssl: