Howto ubuntu 18.04 安装/激活 PHP 扩展 ext-mcrypt

Howto ubuntu 18.04 install / activate PHP extension ext-mcrypt

我正在安装一个新的kubuntu系统18.04,默认使用php7.2

我当前软件项目的作曲家安装给我这个错误信息:

The requested PHP extension ext-mcrypt * is missing from your system. Install or enable PHP's mcrypt extension.

除了以前没有可用的 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

没有找到安装候选项。

php7.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

所以看起来 mcrypt 已被弃用 php7.2

所以我要么必须在我的软件中替换它,要么按照例如这个如何规避它: https://serverpilot.io/community/articles/how-to-install-the-php-mcrypt-extension.html

首先检查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

The mcrypt extension is included in PHP 5.4 through PHP 7.1. It was removed from PHP 7.2 and moved to an unofficial PECL extension because the mcrypt library is no longer maintained.

For PHP 7.2+, PHP instead uses libsodium as a cryptography library. ServerPilot builds PHP 7.2+ with the official libsodium extension. New PHP code should be written to use libsodium rather than mcrypt.

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