Home  >  Article  >  Backend Development  >  How to install mcrypt extension in php7.2/php7.3?

How to install mcrypt extension in php7.2/php7.3?

藏色散人
藏色散人Original
2019-03-27 10:10:5813523browse

mcrypt is an important encryption support extension library in PHP. This library is not enabled by default in Linux environment. In the window environment, PHP>=5.3, the mcrypt extension is enabled by default. The mcrypt extension is an interface to the mcrypt encryption library. This extension is useful for allowing PHP code that uses mcrypt to run on PHP 7.2.

How to install mcrypt extension in php7.2/php7.3?

#The main problem with the mcrypt extension is that it is based on libmcrypt and has not been developed since 2007. Therefore, even though libmcrypt is still in use, the library's security issues have become a focus for many system administrators due to a lack of proper development and maintenance.

Due to the end of mcrypt extension development, the extension was also removed from PHP 7.2 and moved to an unofficial PECL repository. However, you can still find the mcrypt extension in PHP 5.4 to PHP 7.1. PHP 7.2 has been released, but it does not include the mcrypt extension. As of PHP 7.2, PHP uses libsodium as the encryption library.

To install the mcrypt extension on PHP 7.2, run the following command as the root user of the server:

Verify php and pecl versions

php -v
pecl version

If your php is not 7.2, then use /usr/bin/php7.2 instead of php command.

Install mcrypt extension

Mcrypt PECL extension

sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install libmcrypt-dev
sudo pecl install mcrypt-1.0.1

When you see the prompt

libmcrypt prefix? [autodetect] :

Press [Enter] to automatically detect.

After successfully installing mcrypt trought pecl, you should add the mcrypt.so extension to php.ini.

The output will look like this:

...
Build process completed successfully
Installing '/usr/lib/php/20170718/mcrypt.so'    ---->   this is our path to mcrypt extension lib
install ok: channel://pecl.php.net/mcrypt-1.0.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=mcrypt.so" to php.ini

Get the installation path and add it to the cli and apache2 php.ini configuration.

sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini"
sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini"

Verify that the extension is installed

Run the command:

php -i | grep "mcrypt"

The output will look like this:

/etc/php/7.2/cli/conf.d/mcrypt.ini
Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

FAQ

Q: I see the error message: ERROR: 'phpize' failed

Answer: You can install php7.2-dev apt-get install php7.2-dev

Q: What is the solution for installing PHP 7.1 with highet settings on MacOS/OSX?

Answer: You can use macports, and then you can install sudo port install php71-mcrypt

Related recommendations: "PHP Tutorial"

This article This article is about how to install the mcrypt extension in php7.2/php7.3. I hope it will be helpful to friends in need!

The above is the detailed content of How to install mcrypt extension in php7.2/php7.3?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn