Mcrypt extension is missing in 14.04 server for mysql
The php mcrypt extension on ubuntu 14.04 shows that it is installed properly, but phpmyadmin says:
The mcrypt extension is missing. Please check your PHP configuration.
My current php config is here. If you need anymore information, please contact me through the comments.
$ sudo apt-get install php5-mcrypt
Reading package lists... Done
Building dependency tree
Reading state information... Done
php5-mcrypt is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Solution 1:
Try just doing this:
sudo php5enmod mcrypt
And then:
sudo service apache2 restart
I have installed fresh Ubuntu 14.04 (desktop version) to my computer. This way works for enabling mcrypt that was already installed.
Solution 2:
Try this:
sudo updatedb
locate mcrypt.ini
Should show it located at /etc/php5/mods-available
locate mcrypt.so
Edit mcrypt.ini and change extension to match the path to mcrypt.so, example:
extension=/usr/lib/php5/20121212/mcrypt.so
Now this:
sudo php5enmod mcrypt - (optional since its already enabled during phpmyadmin setup)
Verify that new files exists here (they should be auto created from the issue above)
ls -al /etc/php5/cli/conf.d/20-mcrypt.ini
ls -al /etc/php5/apache2/conf.d/20-mcrypt.ini
Otherwise do the following
Create symbol links now
sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/cli/conf.d/20-mcrypt.ini
sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini
Restart Apache
sudo service apache2 restart
Restart php5 or php5-fpm
sudo service php5 restart
Solution 3:
Install mcrypt
extension for PHP, Enable it, and Restart Apache. Following are the commands to do:
sudo apt-get install mcrypt php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart
Solution 4:
The php5-mcrypt Ubuntu package install the config file mcrypt.ini
into /etc/php5/conf.d/
which is the old PHP config directory layout.
The current way of working to enable modules in PHP5 is to put the ini files in the /etc/php5/mods-available
directory.
Then, to enable the module in PHP5, you have to create a symbolic link to the related ini files from /etc/php5/apache2/conf.d
directory to enable the module when PHP is used under Apache or / and from /etc/php5/cli/conf.d
if you want to have this module enabled when you use PHP outside Apache, in scripts run at the command line or from crontab.
Also note that in the conf.d
directory, you can create the link to the ini file by putting a number in front of it to have the modules loaded in a specific order. Usefull when you need to load a module depending on another one.
Of course, don't forget to restart Apache if you have enabled the module for Apache :
sudo service apache2 restart
Solution 5:
My 14.04 server install only needed (after php5-mcrypt installed)
sudo php5enmod mcrypt
sudo service apache2 restart