Ubuntu Server 18.04 LTS 中缺少 php-mcrypt 包

Ubuntu Server 18.04 LTS 中缺少 php-mcrypt 包

php-mcryptUbuntu 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

答案1

Mcrypt 在 PHP 7.2 中已被弃用,因此默认情况下不可用。

您仍然可以使用 pecl 安装 mcrypt 扩展。这些说明适用于apacheWeb 服务器。

# 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,因为它因某种原因而被弃用。

答案2

我做了以下操作来让它工作......

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

答案3

首先检查 mcrypt PHP 模块是否存在:

$ php -m | grep mcrypt

要安装 mcrypt PHP 模块,我们首先需要满足以下先决条件:

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

现在我们准备在 Ubuntu 18.04 系统上安装 mcrypt PHP 模块:

$ 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

参考

答案4

php mcrypt 已在 php 7.2 中删除http://php.net/manual/en/migration71.deprecated.php

相关内容