php - Howto ubuntu 18.04 安装/激活 PHP 扩展 ext-mcrypt
问题描述
我正在安装一个新的 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
找不到安装候选者。
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
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
推荐阅读
- python-3.x - 如何在 Python 中制作重复文件或将 stdout 文件的内容复制到新文件?
- javascript - 在 JS 中创建一个依赖于数据属性的 If/Else 语句
- powershell - 使用 powershell 从 Dynamics 365 卸载 Business Central 扩展
- java - 将 3D 网格点分类为 3D 网格单元
- python-3.x - 无法使用 Yocto Dunfell 在 core-image-minimal 中包含 python3-dev
- azure - 创建 Azure 事件网格 webhook 订阅失败 TLS 握手
- php - Voyager Page Blocks 无法删除图像
- vue.js - 如何在 Nuxt 中使用 404 页面组件到当前 url
- c# - 在 C# 的 try 块中定义变量
- javascript - 如何自动重启 CSS 动画