So I know this is a late reply, but... Something to check for mcrypt support in php that stumped me for a day....
Apparently, some of the default repositories for libmcrypt ship with a bad .ini
Look in the file /etc/php.d/mcrypt.ini
The bad package default looks like this:
; Enable mcrypt extension module
extension=module.so
It should look like this:
; Enable mcrypt extension module
extension=mcrypt.so
If this is the case for you, then you can be fairly certain that is why mcrypt doesn't seem to work no matter what php wizardry you try.
Of course, you now need to edit the file to correct it.
If such a simple mistake upstream wasn't bad enough, now you have to recompile all of your php versions to make it work properly.
I hadn't realized mcrypt was a problem until I tried to run a script that required it. I knew I had added it in all of my php compiles, but the application error logs kept telling me I didn't have it.
Hopefully this helped someone out there.