我正在安装一个新的 kubuntu 系统 18.04,默认使用 php7.2
我当前软件项目的 Composer 安装给了我这个错误消息:
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
找不到安装候选者。
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
最佳答案
首先检查 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
关于php - Howto ubuntu 18.04 安装/激活 PHP 扩展 ext-mcrypt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50354696/