у Ubuntu Server 18.04 LTS відсутній пакет php-mcrypt


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, це застаріло з причини.


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
Елвін


3

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

$ php -m | grep mcrypt

Щоб встановити модуль mcrypt PHP, для початку нам необхідно виконати такі умови:

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

Готово. Після успішної перевірки наявності модуля mcrypt PHP слід отримати такий вихід:

$ php -m | grep mcrypt
mcrypt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.