I have PHP 5.2.14 installed on a Windows box (installed via .msi) using Apache 2.2.16. The install came with both ext/php_mcrypt.dll and libmcrypt.dll but when I uncommented extension=php_mcrypt.dll in php.ini and restarted Apache it doesn't enable. phpinfo() shows nothing for it. What am I missing?
UPDATE:
I looked at my error logs and it spit this out to me:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP5\ext\php_mcrypt.dll' - The specified module could not be found.\r\n in Unknown on line 0
I read up a bit about this and I don't have any php dll's stored in the windows32/ folder, so I'm confused.
The other answers has the necessary steps about check the
\ext\php_mcrypt.dll
exists and enable the extension inphp.ini
. Beside this, you need to copy{Your-PHP-Root}\libmcrypt.dll
to{Your-Apache-Root}\bin
, then restart apache, the problem should be solved.You need to install it first, or maybe add the route to the library to your windows PATH enviroment variable, since you are working on windows. Try: http://www.php.net/manual/en/mcrypt.installation.php
(There you can read "If you wish to install mcrypt on Windows, you should also place libmcrypt.dll in the PATH of your system.")
How to set or edit an enviroment variable: http://www.support.tabs3.com/main/R10463.htm
I figured it out through a combination of tutorials:
Thankfully, no system reboot was required. Whether one or both of the above was necessary, it doesn't matter now that mcrypt is functioning. Thanks, everyone.