Пакет php-mcrypt отсутствует в Ubuntu Server 18.04 LTS

19

Является ли php-mcryptпакет отсутствует в Ubuntu Server 18.04 LTS?

apt install php-mcrypt
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package php-mcrypt is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'php-mcrypt' has no installation candidate
Андреа Россетти
источник
Ubuntu php-mcrypt: packages.ubuntu.com/… ... Нет php-mcrypt для 18.04.
Кнуд Ларсен

Ответы:

33

Mcrypt устарел в PHP 7.2, поэтому по умолчанию он недоступен.

Вы все еще можете установить расширение mcrypt, используя pecl. Эти инструкции предназначены для apacheвеб-сервера.

# Install prerequisites
sudo apt-get install php-dev libmcrypt-dev gcc make autoconf libc-dev pkg-config

# Compile mcrypt extension
sudo pecl install mcrypt-1.0.1
# Just press enter when it asks about libmcrypt prefix

# Enable extension for apache
echo "extension=mcrypt.so" | sudo tee -a /etc/php/7.2/apache2/conf.d/mcrypt.ini

# Restart apache
sudo service apache2 restart

Это должно помочь вам.

В долгосрочной перспективе вы можете заменить mcrypt, это не рекомендуется по причине.

Epskampie
источник
7

Я сделал следующее, чтобы заставить это работать ...

sudo add-apt-repository ppa:ondrej/php
sudo apt-get install php7.1-mcrypt

Если вы используете php5.6 или 7.0, вы можете использовать следующее

sudo apt-get install php5.6-mcrypt
sudo apt-get install php7.0-mcrypt
Дэн Барбер
источник
1
Ubuntu 18.04 имеет php7.2 на самом деле после добавления репозитория ppa и установки php7.1-mcrypt, когда я делаю a2enmod mcrypt, ответом является «модуль mcrypt не существует»!
Андреа Россетти
вы, вероятно, используете php 7.2 ( /etc/php/7.2) - это устанавливает его на 7.1 ( /etc/php/7.1/) и работает, только если вы также устанавливаете / используете эту версию phpapt-get install php7.1
Alvin
3

Сначала проверьте, присутствует ли модуль PHP mcrypt:

$ php -m | grep mcrypt

Для установки PHP-модуля mcrypt сначала нужно выполнить следующие предварительные условия:

sudo apt install php-dev libmcrypt-dev php-pear

Теперь мы готовы установить модуль mcrypt PHP в нашу систему Ubuntu 18.04:

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

Откройте файл /etc/php/7.2/cli/php.ini и вставьте:

extension=mcrypt.so

Все сделано. В случае успеха проверка на наличие модуля PHP mcrypt должна привести к следующему выводу:

$ php -m | grep mcrypt
mcrypt
PHP Worm ...
источник