phpMyAdmin 说缺少 mcrypt,但事实并非如此;无法登录

phpMyAdmin 说缺少 mcrypt,但事实并非如此;无法登录

我刚刚在 Solaris 10 上编译了一个 Web 堆栈。这是一个相当标准的 Apache 2 / MySQL 5 / PHP 5 堆栈,包含所有最新的稳定版本。我在服务器上安装了 phpMyAdmin,并设置了 httpd.conf 以使其联机。当我浏览该页面时,登录失败,登录表单下方出现一条持久消息:

缺少 mcrypt 扩展。请检查您的 PHP 配置。

但是,我使用 --with-mcrypt 标志编译了 PHP。文件 info.php:

<?php phpinfo(); ?>

显示已启用 mcrypt 支持。运行:

php -m

在命令行上显示 mcrypt 已加载。

Google 帮不上什么忙,我希望这附近的人能帮我解决。如果我需要提供更多详细信息,请告诉我您需要知道的信息。

答案1

使用 mcrypt 支持编译 php 与实际安装 mcrypt 并不相同。在您的 phpinfo() 中,它对支持的密码和模式有何说明?如果两者都显示“无”,则您的 php 已准备好使用 mcrypt,但实际扩展本身尚未安装。

您需要下载并使用 --enable-dynamic-loading 构建 libmcrypt。完成此操作后,实际的 mcrypt 扩展已到位,然后您应该会看到 phpinfo() 的 mcrypt 部分发生了一些变化;

相关内容