CoderNotes - заметки программиста

Публикации  »  PHP
Скидка 65% на Skillbox

Получите скидку 65% на любой курс программирования на популярной образовательной платформе Skillbox!

Подробнее
Бесплатный хостинг + SSL-сертификат

Зарегистрируйте домен и получите 2 месяца бесплатного хостинга и SSL-сертификат на 1 год в подарок

Подробнее

Как установить MCrypt для PHP 7.x

Расширение 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 завершена.

Категория: PHP

Книги по теме:

Посмотреть все книги по программированию

Комментарии к статье:

30.03.22   Гость Привет, php.ini сбрасывает добавление extension=mcrypt как быть?
20.10.24   Гость лизаветаЯЫшь

Добавить комментарий: