MySQL WARNING: Module mcrypt ini file doesn’t exist under /etc/php/7.2/mods-available错误

MySQL WARNING: Module mcrypt ini file doesn’t exist under /etc/php/7.2/mods-available错误

在使用MySQL时,有可能会遇到这样的问题:提示”Module mcrypt ini file doesn’t exist under /etc/php/7.2/mods-available”。这是因为PHP版本已经更新到了7.2,而mcrypt扩展已经被废弃了。因此,在使用MySQL时,我们需要进行一些调整。

阅读更多:MySQL 教程

什么是mcrypt扩展

mcrypt是一种加密库,允许在PHP中使用各种复杂的加密算法。它是开源软件,目前已经停止开发和支持,被推荐使用更先进的加密库或密码学扩展。

在较旧的PHP版本中,如5.6等,mcrypt包含在PHP本身中,且默认开启。但到了PHP7.2,该扩展已经不再包含在PHP中,并且已经被废弃。所以,在使用PHP7.2及以上版本时,我们需要进行一些配置。

解决方法

如果要使用MySQL,我们可以使用另一个加密库来替换mcrypt扩展,如openssl或sodium等。下面是解决该问题的一些方法:

1. 使用openssl扩展

php.ini文件中,找到以下两行代码:

extension=mcrypt.so

extension=openssl.so

注释掉第一行并打开第二行,即:

;extension=mcrypt.so

extension=openssl.so

openssl是一个替代mcrypt的加密库,它已经取代了mcrypt并被认为是一种更好的解决方案。但需要注意的是,openssl的使用方式和mcrypt稍有不同,需要一些新的函数来替换旧的函数。

2. 使用sodium扩展

可以将mcrypt扩展替换为sodium扩展,从而实现加密功能。sodium是一个新的加密库,所以需要安装扩展。

在Ubuntu中,我们可以通过以下命令安装:

sudo apt-get install libsodium-dev
sudo pecl install -f libsodium

安装完成后,在php.ini文件中添加以下代码:

extension=sodium.so

在PHP代码中使用sodium提供的函数即可。

3. 升级MySQL版本

MySQL 5.7及以上版本已经支持使用sodium作为加密库,可以升级到这些版本来避免使用mcrypt扩展的问题。

总结

在使用MySQL时,如提示”Module mcrypt ini file doesn’t exist under /etc/php/7.2/mods-available”,不要惊慌。正确处理相应的问题并安装openssl或sodium扩展即可解决,或者升级到MySQL 5.7及以上版本。这些解决方案可以保持您的代码运行稳定和安全。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程