我已经在PHP版本: 7.4.3 Ubuntu版本: 20.04.1 LTS和nginx中解决了相同的问题。
sudo apt-get install php-pear php7.4-dev
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install libmcrypt-dev
您可以根据php版本选择您的mcrypt版本 阅读
sudo pecl install mcrypt-1.0.4
当您看到提示时
libmcrypt prefix? [autodetect] :
按[Enter]自动检测。
输出结果将类似于以下内容。
Build process completed successfully
Installing '/usr/lib/php/20190902/mcrypt.so'
install ok: channel://pecl.php.net/mcrypt-1.0.4
configuration option "php_ini" is not set to php.ini location
You should add "extension=mcrypt.so" to php.ini
成功使用pecl安装mcrypt后,您应该在php.ini中添加extension=/usr/lib/php/20190902/mcrypt.so扩展。
我已经在以下文件中添加了extension=/usr/lib/php/20190902/mcrypt.so:
- /etc/php/7.4/fpm/php.ini
- /etc/php/7.4/cli/php.ini
重新启动您的nginx,因为我正在使用nginx。
systemctl restart nginx
您可以重新启动php-fpm。
sudo service php7.4-fpm restart
最后,如何验证是否已安装了mycrpt(注意关闭终端并重新打开)?
php -m | grep mcrypt