在mysql的14.04服务器中缺少Mcrypt扩展

ubuntu 14.04上的php mcrypt扩展显示它已正确安装,但phpmyadmin说:

The mcrypt extension is missing. Please check your PHP configuration. 

我目前的php配置就在这里 。 如果您需要更多信息,请通过评论与我联系。

 $ sudo apt-get install php5-mcrypt Reading package lists... Done Building dependency tree Reading state information... Done php5-mcrypt is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 

试试这个:

 sudo updatedb locate mcrypt.ini 

应该显示它位于/ etc / php5 / mods-available

 locate mcrypt.so 

编辑mcrypt.ini并更改扩展名以匹配mcrypt.so的路径,例如:

 extension=/usr/lib/php5/20121212/mcrypt.so 

现在这个:

 sudo php5enmod mcrypt - (optional since its already enabled during phpmyadmin setup) 

validation此处是否存在新文件(应根据上述问题自动创建它们)

 ls -al /etc/php5/cli/conf.d/20-mcrypt.ini ls -al /etc/php5/apache2/conf.d/20-mcrypt.ini 

否则请执行以下操作

立即创建符号链接

 sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/cli/conf.d/20-mcrypt.ini sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini 

重启Apache

 sudo service apache2 restart 

重启php5或php5-fpm

 sudo service php5 restart 

试着这样做:

 sudo php5enmod mcrypt 

然后:

 sudo service apache2 restart 

我已经在我的电脑上安装了新的Ubuntu 14.04(桌面版)。 这种方式适用于启用已安装的mcrypt。

安装PHP的mcrypt扩展,启用它,然后重新启动Apache。 以下是要执行的命令:

 sudo apt-get install mcrypt php5-mcrypt sudo php5enmod mcrypt sudo service apache2 restart 

php5-mcrypt Ubuntu软件包将配置文件mcrypt.ini安装到/etc/php5/conf.d/ ,这是旧的PHP配置目录布局。

在PHP5中启用模块的当前工作方式是将ini文件放在/etc/php5/mods-available目录中。 然后,要在PHP5中启用该模块,您必须创建一个指向/etc/php5/apache2/conf.d目录中相关ini文件的符号链接,以便在Apache或/和/etc/php5/cli/conf.d下使用PHP时启用该模块/etc/php5/cli/conf.d如果你想在Apache之外使用PHP,在命令行或crontab运行的脚本中启用此模块。

另请注意,在conf.d目录中,您可以通过在其前面放置一个数字来创建指向ini文件的链接,以便按特定顺序加载模块。 当您需要根据另一个模块加载模块时有用。

当然,如果您为Apache启用了模块,请不要忘记重新启动Apache:

  sudo service apache2 restart 

我的14.04服务器安装只需要(安装php5-mcrypt后)

 sudo php5enmod mcrypt sudo service apache2 restart 

如果问题仍然存在,

通过添加: extension=mcrypt.so来启用模块

/etc/php5/cli/php.ini

/etc/php5/apache2/php.ini

在Ubuntu 16.04 LTS中,使用php 5.6启用mcrypt模块:

 sudo apt-get install mcrypt sudo apt-get install php5.6-mcrypt sudo phpenmod mcrypt 

或者使用php 7.0:

 sudo apt-get install mcrypt sudo apt-get install php7.0-mcrypt sudo phpenmod mcrypt 

然后

 sudo service apache2 restart 

使用PHP 7

 sudo apt-get install php-mcrypt sudo phpenmod mcrypt sudo /etc/init.d/apache2 restart 

您应该能够通过运行以下命令来安装PHP的mcrypt扩展:

 sudo apt-get install php5-mcrypt 

请注意,在Ubuntu 14.04中,php5-mcrypt位于可以禁用的Universe存储库中。 在这种情况下要安装它,您必须使用以下命令启用存储库:

 sudo add-apt-repository universe 

您需要启用mcrypt模块:

 sudo php5enmod mcrypt sudo service apache2 restart 

这是在Ubuntu 14.04 Server上添加php 5.5 mcrypt扩展的最佳方法

 sudo apt-get install php5-mcrypt sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available sudo php5enmod mcrypt sudo service apache2 restart 

@Kevsin的回答对我有用,但我必须运行mkdir -p /etc/php5/apache2/conf.d/并手动运行sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini工作sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.inisudo php5enmod mcrypt适用于第一个符号链接。

注意:我正在运行PHP5-FPM。 这可能是不同的。

对于那些发现这个的人,对于Ubuntu 16.04(使用PHP7),这是我为启用mcrypt所做的:

 sudo apt-get install mcrypt php-mcrypt sudo phpenmod mcrypt sudo service apache2 restart