Reputation: 789
I'm modifying a plugin in wordpress. The plugin is "RegistrationMagic", when I inhaled it and went to the screen it appeared the following message "PHP extension mcrypt is not enabled on server".
I tried to follow the hint of that question "https://askubuntu.com/questions/460837/mcrypt-extension-is-missing-in-14-04-server-for-mysql"
But when I get to that part:
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
Can not find conf.d file
Someone can help me: I already tried to reinstall php5 but it did not work either.
EDIT
When I do a locate in myscript.so it returns this below:
$locate mcrypt.so
/usr/lib/libmcrypt.so.4
/usr/lib/libmcrypt.so.4.4.8
/usr/lib/php5/20121212/mcrypt.so
Upvotes: 0
Views: 5702
Reputation: 976
PHP doesn't compile mcrypt by default. you first have to have mcrypt installed
You need to compile PHP with the --with-mcrypt[=DIR]
parameter to enable this extension. DIR
is the mcrypt install directory. Make sure you compile libmcrypt
with the option --disable-posix-threads
an example for enabling it on ubuntu, in terminal run the following:
apt-get install php5-mcrypt
mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
php5enmod mcrypt
service apache2 restart
here is an article on the php5enmod command: https://lornajane.net/posts/2012/managing-php-5-4-extensions-on-ubuntu
to Fix a missing mcrypt ini:
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
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
Upvotes: 2
Reputation: 2743
Check if mcrypt is enabled or not
php -i | grep mcrypt
Now if it displays you something related to myrypt
and its version mean mcrypt is already enabled. just restart your apache server and you're good to go.
and i think that's your only issue, rest you know already.
In case if it's not installed
sudo apt-get install php5-mcrypt
OR
using PECL
sudo pecl install mcrypt
Upvotes: 1