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

mat*_*ate 112 mysql php phpmyadmin dmcrypt 14.04

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

 The mcrypt extension is missing. Please check your PHP configuration.
Run Code Online (Sandbox Code Playgroud)

我当前的 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.
Run Code Online (Sandbox Code Playgroud)

MUR*_*LAT 155

尝试这样做:

sudo php5enmod mcrypt
Run Code Online (Sandbox Code Playgroud)

进而:

sudo service apache2 restart 
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,如果您使用 php5-fpm 运行 __nginx__ -- 然后`php5-fpm service restart`(如果最终修补,则重新加载) (5认同)
  • 这两个命令的作用是:第一行启用名为“mcrypt”的模块,然后重新启动 apache2 以更新配置。您可以从 `/etc/apache2/mods-available` 中看到启用的模块。享受 LAMP 生活 :) (2认同)

小智 139

尝试这个:

sudo updatedb 
locate mcrypt.ini
Run Code Online (Sandbox Code Playgroud)

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

locate mcrypt.so
Run Code Online (Sandbox Code Playgroud)

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

extension=/usr/lib/php5/20121212/mcrypt.so
Run Code Online (Sandbox Code Playgroud)

现在这个:

sudo php5enmod mcrypt - (optional since its already enabled during phpmyadmin setup)
Run Code Online (Sandbox Code Playgroud)

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

ls -al /etc/php5/cli/conf.d/20-mcrypt.ini
ls -al /etc/php5/apache2/conf.d/20-mcrypt.ini
Run Code Online (Sandbox Code Playgroud)

否则执行以下操作

立即创建符号链接

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
Run Code Online (Sandbox Code Playgroud)

重启阿帕奇

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

重启 php5 或 php5-fpm

sudo service php5 restart
Run Code Online (Sandbox Code Playgroud)

  • 只做`php5enmod mcrypt` 对我来说很顺利。 (14认同)
  • 运行`php5enmod mcrypt` 将为您创建这些符号链接。无需手动执行此操作(即您可以跳过`ln -s` 命令)。 (3认同)

小智 55

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

sudo apt-get install mcrypt php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)


Ben*_*oit 6

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

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

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

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

 sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

353244 次

最近记录:

7 年,4 月 前