如何Ubuntu的Ubuntu 18.04安装/激活PHP扩展ext-mcrypt

Cal*_*ane 1 php php-extension php-7.2 ubuntu-18.04

我正在安装新的kubuntu系统18.04,默认情况下使用的是php7.2

我当前软件项目的作曲家安装给我以下错误消息:

您的系统缺少所需的PHP扩展名ext-mcrypt *。安装或启用PHP的mcrypt扩展。

除了以前没有可用的php-mcrypt之外,其他类似http://aryo.lecture.ub.ac.id/easy-install-php-mcrypt-extension-on-ubuntu-linux/的文章也无济于事模拟php-mcrypt或php7-mcrypt不存在。

如何获得可以满足我的要求的设置?

sudo apt-get install php7.2-ext-mcrypt
Run Code Online (Sandbox Code Playgroud)

找不到安装候选对象。

php 7.1和7.2之间有区别吗?

毫不奇怪,这也不能解决问题:

$ sudo phpenmod mcrypt
WARNING: Module mcrypt ini file doesn't exist under /etc/php/7.2/mods-available
WARNING: Module mcrypt ini file doesn't exist under /etc/php/7.2/mods-available
Run Code Online (Sandbox Code Playgroud)

PHP*_*... 5

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

$ php -m | grep mcrypt
Run Code Online (Sandbox Code Playgroud)

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

sudo apt install php-dev libmcrypt-dev php-pear
Run Code Online (Sandbox Code Playgroud)

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

$ sudo pecl channel-update pecl.php.net
$ sudo pecl install mcrypt-1.0.1
Run Code Online (Sandbox Code Playgroud)

打开/etc/php/7.2/cli/php.ini文件并插入:

extension=mcrypt.so
Run Code Online (Sandbox Code Playgroud)

全部做完。成功后,检查mcrypt PHP模块是否存在应产生以下输出:

$ php -m | grep mcrypt
mcrypt
Run Code Online (Sandbox Code Playgroud)

mcrypt扩展包含在PHP 5.4到PHP 7.1中。它已从PHP 7.2中删除,并移至一个非官方的PECL扩展中,因为不再维护mcrypt库。

对于PHP 7.2 +,PHP改为使用libsodium作为加密库。ServerPilot构建带有官方libsodium扩展名的PHP 7.2+。应该编写新的PHP代码以使用libsodium而不是mcrypt。

如何在PHP 7.2或7.3上安装mcrypt:https : //serverpilot.io/docs/how-to-install-the-php-mcrypt-extension