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

我正在安装一个新的kubuntu系统18.04,默认使用php7.2 </ p>
\ n

我当前软件项目的作曲家安装错误消息:</ p>


系统中缺少所请求的PHP扩展名ext-mcrypt *。
安装或启用PHP的mcrypt扩展。</ p>
</ blockquote>

除了没有可用的php-mcrypt和其他类似的文章 http://aryo.lecture.ub.ac.id/easy-install- php-mcrypt-extension-on-ubuntu-linux / 没有帮助,因为模拟的php-mcrypt或php7-mcrypt不存在。</ p>

我怎样才能获得 设置,满足我的要求?</ p>

  sudo apt-get install php7.2-ext-mcrypt 
</ code> </ pre>

没有找到安装候选者。</ p>

php 7.1和7.2之间有区别吗?</ p>

并不奇怪 gly这也不起作用:</ p>

  $ sudo phpenmod mcrypt 
警告:/etc/php/7.2/mods-available \下不存在模块mcrypt ini文件 n警告:/etc/php/7.2/mods-available

</ div>下不存在模块mcrypt ini文件

展开原文

原文

I am installing a fresh kubuntu system 18.04, which is using by default php7.2

A composer install for my current software project gibves me this error message:

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

Other than before there is no php-mcrypt available and other articles like this http://aryo.lecture.ub.ac.id/easy-install-php-mcrypt-extension-on-ubuntu-linux/ don't help since an analog php-mcrypt or php7-mcrypt does not exists.

How can I get a setup, which fulfills my requirement?

sudo apt-get install php7.2-ext-mcrypt

does not find an installation candidate.

Is there a difference between php 7.1 and 7.2?

not surprisingly this also does not do the trick:

$ 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

php
drr25281
drr25281 你是对的。幸运的是它已经在我正在使用的版本中编译。libsodium在版本1.0.16中有一个令人讨厌的错误“PHP致命错误:在第0行的Unknown中的sodium_init()”所以我现在切换到openssl。此外,氦气也没有很好的记录。
大约 2 年之前 回复
doulin6448
doulin6448 理论上openSSL支持必须编译,但实际上它已经很常见,因为它是一个广泛使用的库。据我所知,libsodium总是在PHP7.2中提供
大约 2 年之前 回复
dongwen6743
dongwen6743 我是否正确理解这一点。对于openssl,我必须使用openssl编译php版本,libsodium已经是php7.2的一部分了吗?secure.php.net/manual/en/openssl.installation.php
大约 2 年之前 回复
duaner1634
duaner1634 mcrypt被放弃了,PHP不再支持。您无法在当前版本的PHP中安装mcrypt。您必须将代码迁移到较新的enctyption库,例如openssl或libsodium
大约 2 年之前 回复

2个回答



所以看起来mcrypt不推荐使用php7.2 </ p>

所以我要么必须 在我的软件中替换它或按照例如 这个如何绕过它:
https: //serverpilot.io/community/articles/how-to-install-the-php-mcrypt-extension.html </ p>
</ div>

展开原文

原文

So it looks like mcrypt is deprecated with php7.2

So I will either have to replace it in my software or follow e.g. this howto to circumvent it: https://serverpilot.io/community/articles/how-to-install-the-php-mcrypt-extension.html

dsx5201
dsx5201 不要试图回避它! PHP 7中删除了mcrypt支持的原因非常充分,即多年来一直未处理过,并且包含大量已知未修补的漏洞。 如果你设法破解PHP安装中的mcrypt支持,你基本上会安装一个永远不会修复的破坏的加密库。 请改为迁移您的代码。
大约 2 年之前 回复



首先检查mcrypt PHP模块是否存在:</ p>

  $ php -m  |  grep mcrypt 
</ code> </ pre>

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

  sudo apt 安装php-dev libmcrypt-dev php-pear 
</ code> </ pre>

现在我们准备在我们的Ubuntu 18.04系统上安装mcrypt PHP模块:</ p>

  $ sudo pecl channel-update pecl.php.net 
$ sudo pecl install mcrypt-1.0.1
</ code> </ pre>

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

  extension = mcrypt.so 
</ code> </ pre>

全部 完成。 如果成功,检查mcrypt PHP模块是否存在应产生以下输出:</ p>

  $ php -m |  grep mcrypt 
mcrypt
</ code> </ pre>


mcrypt扩展包含在PHP 5.4到PHP 7.1中。 它已从PHP 7.2中删除并移至非正式的PECL扩展,因为不再维护mcrypt库。</ p>

对于PHP 7.2+,PHP使用libsodium作为加密库。 ServerPilot使用官方的libsodium扩展构建PHP 7.2+。 应该编写新的PHP代码以使用libsodium而不是mcrypt。</ p>
</ blockquote>

如何在PHP 7.2或7.3上安装mcrypt:
https://serverpilot.io/docs/how-to-install-the-php-mcrypt- 扩展名 </ p>
</ div>

展开原文

原文

First Check whether the mcrypt PHP module is present:

$ php -m | grep mcrypt

To install the mcrypt PHP module we first need to satisfy the following prerequisites:

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

Now we are ready to install mcrypt PHP module on our Ubuntu 18.04 system:

$ sudo pecl channel-update pecl.php.net
$ sudo pecl install mcrypt-1.0.1

Open the /etc/php/7.2/cli/php.ini file and insert:

extension=mcrypt.so

All done. When successful, checking for the presence of the mcrypt PHP module should produce the following output:

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

How to install mcrypt on PHP 7.2 or 7.3: https://serverpilot.io/docs/how-to-install-the-php-mcrypt-extension

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问