简体   繁体   中英

Howto ubuntu 18.04 install / activate PHP extension ext-mcrypt

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

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

So it looks like mcrypt is deprecated with php7.2

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM