2

I've just compiled a web stack on Solaris 10. This is a fairly standard Apache 2 / MySQL 5 / PHP 5 stack with all the most recent stable versions. I dropped phpMyAdmin on the server and set up httpd.conf to get that online. When I browse to the page, login fails, and a persistent message appears beneath the login form:

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

However, I compiled PHP with the --with-mcrypt flag. A file, info.php:

<?php phpinfo(); ?>

shows that mcrypt support is enabled. Running:

php -m

on the command line shows that mcrypt is loaded.

Google hasn't been much help, and I was hoping someone around these parts could throw some help my way. If I need to provide any further detail, please let me know what you need to know.

GradysGhost
  • 21
  • 1
  • 2
  • What does `php -i | grep "^mcrypt"` say? – quanta Aug 10 '11 at 15:22
  • Also verify that you have `libmcrypt` (not a PHP dependency). The documentation also mentions that it should be compiled [without posix threads](http://www.php.net/manual/en/mcrypt.installation.php). This may affect Apache, but not the CLI, so it may be worth checking. – Andrew M. Aug 10 '11 at 20:22

1 Answers1

1

Compiling php with mcrypt support is not the same as actually installing mcrypt. In your phpinfo() what does it say about supported ciphers and modes? If it shows "none" for both of those, then your php is ready for mcrypt but the actual extension itself is not installed.

You'll want to download, and build libmcrypt with --enable-dynamic-loading. Once that's done, and the actual mcrypt extension is in place, then you should see some changes in the mcrypt portion of phpinfo();

Tim Kennedy
  • 1,194
  • 9
  • 13