16

I would like to know the simplest and fastest PHP code line to check if mcrypt extension is available/installed.

There is a function that encrypts a string and first it requires to check if mcrypt is usable. If not, it will execute an alternative encrypt solution available on the system.

Thanks!

Anant
  • 534
  • 11
  • 40
Heroselohim
  • 1,241
  • 1
  • 18
  • 23

3 Answers3

45

You can use function_exists to check if one of the mcrypt functions exists.

if(function_exists('mcrypt_encrypt')) {
    echo "mcrypt is loaded!";
} else {
    echo "mcrypt isn't loaded!";
}

Edit 30.07.2016:
Since my answer still gets a few upvotes from time to time, I benchmarked the performance of mine and Cristi Draghici's answers. The conclusion is, that function_exists is a bit faster than extension_loaded. https://3v4l.org/So4Ep

Charlotte Dunois
  • 4,638
  • 2
  • 20
  • 39
16

You can also use extension_loaded():

if (extension_loaded('mcrypt')) {
    echo "mcrypt is loaded!";
} else {
    echo "mcrypt isn't loaded!";
}
Cristi Draghici
  • 518
  • 7
  • 10
1

If you are using a development environment like XXAMP, or WAMP, there should be a default "phpinfo" page. For example, in XXAMP it would be:

http://localhost/dashboard/phpinfo.php

You can also achieve this same screen by viewing a php file that has: phpinfo(); somewhere in the code.

In this screen, simply search for the string "mcrypt support". If installed, you will see a box that says "enabled".