在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.ini
。 sudo php5enmod mcrypt
适用于第一个符号链接。
注意:我正在运行PHP5-FPM。 这可能是不同的。
对于那些发现这个的人,对于Ubuntu 16.04(使用PHP7),这是我为启用mcrypt所做的:
sudo apt-get install mcrypt php-mcrypt sudo phpenmod mcrypt sudo service apache2 restart