![phpMyAdmin 说缺少 mcrypt,但事实并非如此;无法登录](https://linux22.com/image/558032/phpMyAdmin%20%E8%AF%B4%E7%BC%BA%E5%B0%91%20mcrypt%EF%BC%8C%E4%BD%86%E4%BA%8B%E5%AE%9E%E5%B9%B6%E9%9D%9E%E5%A6%82%E6%AD%A4%EF%BC%9B%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95.png)
我刚刚在 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 部分发生了一些变化;