PHP 服务器上未启用扩展 mcrypt
PHP extension mcrypt is not enabled on server
我正在修改 wordpress 中的一个插件。该插件是 "RegistrationMagic",当我吸入它并进入屏幕时出现以下消息 "PHP extension mcrypt is not enabled on server"。
我试着按照那个问题的提示“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 中定位时 returns 下面这个:
$locate mcrypt.so
/usr/lib/libmcrypt.so.4
/usr/lib/libmcrypt.so.4.4.8
/usr/lib/php5/20121212/mcrypt.so
PHP 默认不编译 mcrypt。你首先必须安装 mcrypt
您需要使用 --with-mcrypt[=DIR]
参数编译 PHP 以启用此扩展。 DIR
是 mcrypt 安装目录。确保使用 --disable-posix-threads
选项编译 libmcrypt
在 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
检查是否启用了 mcrypt
php -i | grep mcrypt
现在,如果它向您显示与 myrypt
相关的内容,并且它的版本意味着 mcrypt 已经启用。只需重新启动您的 Apache 服务器即可。
我认为这是你唯一的问题,休息你已经知道了。
万一没有安装
sudo apt-get install php5-mcrypt
OR
using PECL
sudo pecl install mcrypt
我正在修改 wordpress 中的一个插件。该插件是 "RegistrationMagic",当我吸入它并进入屏幕时出现以下消息 "PHP extension mcrypt is not enabled on server"。
我试着按照那个问题的提示“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 中定位时 returns 下面这个:
$locate mcrypt.so
/usr/lib/libmcrypt.so.4
/usr/lib/libmcrypt.so.4.4.8
/usr/lib/php5/20121212/mcrypt.so
PHP 默认不编译 mcrypt。你首先必须安装 mcrypt
您需要使用 --with-mcrypt[=DIR]
参数编译 PHP 以启用此扩展。 DIR
是 mcrypt 安装目录。确保使用 --disable-posix-threads
libmcrypt
在 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
检查是否启用了 mcrypt
php -i | grep mcrypt
现在,如果它向您显示与 myrypt
相关的内容,并且它的版本意味着 mcrypt 已经启用。只需重新启动您的 Apache 服务器即可。
我认为这是你唯一的问题,休息你已经知道了。
万一没有安装
sudo apt-get install php5-mcrypt
OR
using PECL
sudo pecl install mcrypt