我正在修改wordpress中的插件。该插件是" RegistrationMagic",当我吸入它并进入屏幕时,它出现以下消息" PHP扩展mcrypt未在服务器上启用"。
我试着按照这个问题的提示" https://askubuntu.com/questions/460837/mcrypt-extension-is-missing-in-14-04-server-for-mysql"
但是当我到达那个部分时:
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
找不到conf.d文件
有人可以帮助我:我已经尝试重新安装php5,但它也没有用。
修改
当我在myscript.so中进行定位时,它会返回以下内容:
$locate mcrypt.so
/usr/lib/libmcrypt.so.4
/usr/lib/libmcrypt.so.4.4.8
/usr/lib/php5/20121212/mcrypt.so
答案 0 :(得分:2)
PHP默认情况下不编译mcrypt。你首先必须安装mcrypt
您需要使用--with-mcrypt[=DIR]
参数编译PHP以启用此扩展。 DIR
是mcrypt安装目录。确保使用选项libmcrypt
--disable-posix-threads
在ubuntu上启用它的示例,在终端运行以下命令:
apt-get install php5-mcrypt
mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
php5enmod mcrypt
service apache2 restart
这是一篇关于php5enmod命令的文章:https://lornajane.net/posts/2012/managing-php-5-4-extensions-on-ubuntu
修复丢失的mcrypt ini:
sudo updatedb
locate mcrypt.ini
应将其显示在/etc/php5/mods-available
locate mcrypt.so
修改mcrypt.ini
并更改扩展名以匹配mcrypt.so
的路径,例如:
extension=/usr/lib/php5/20121212/mcrypt.so
现在这个:
sudo php5enmod mcrypt
验证此处是否存在新文件(应根据上述问题自动创建)
ls -al /etc/php5/cli/conf.d/20-mcrypt.ini
ls -al /etc/php5/apache2/conf.d/20-mcrypt.ini
否则请执行以下操作
立即创建符号链接
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
重启Apache
sudo service apache2 restart
重启php5或php5-fpm
sudo service php5 restart
答案 1 :(得分:1)
检查是否启用了mcrypt
php -i | grep mcrypt
现在,如果它显示与myrypt
相关的内容及其版本,则表示mcrypt已启用。只需重启你的apache服务器就可以了。
我觉得这是你唯一的问题,你已经知道了。
如果未安装
sudo apt-get install php5-mcrypt
OR
using PECL
sudo pecl install mcrypt