我试图遵循: PHP Warning: PHP Startup: Unable to load dynamic library 'mcrypt.so'
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev
sudo pecl install mcrypt-1.0.1
我得到:
pecl/mcrypt requires PHP (version >= 7.2.0, version <= 7.3.0, excluded versions: 7.3.0), installed version is 7.3.3-1+ubuntu14.04.1+deb.sury.org+1
No valid packages found
install failed
我使用需要此的prestashop
答案 0 :(得分:5)
如果有人正在使用带有php7.3.10的AWS bitnami安装,则以下是具有适当文件路径的布局(下面列出了引用)
$ php -version
$ sudo apt-get -y install gcc make autoconf libc-dev pkg-config
$ sudo apt-get -y install libmcrypt-dev
$ sudo pecl install mcrypt-1.0.2
$ sudo pecl install mcrypt-1.0.1
> libmcrypt prefix? [autodetect] :
$ more /opt/bitnami/php/etc/php.ini | grep mcrypt
;extension=mcrypt.so
$ emacs /opt/bitnami/php/etc/php.ini
https://lukasmestan.com/install-mcrypt-extension-in-php7-2/
答案 1 :(得分:2)
我在 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版本Read
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
重启你的nginx,因为我正在使用nginx
systemctl restart nginx
你也可以重启php-fpm
sudo service php7.4-fpm restart
最后如何验证是否安装了 mycrpt(注意关闭终端并再次打开)
php -m | grep mcrypt
答案 2 :(得分:1)
您必须安装版本1.0.2。
错误消息清楚地告诉您1.0.1仅支持PHP 7.2,而不支持7.3。
全部记录为on the official pecl/mcrypt
page。
发布1.0.2:
PHP版本:PHP 7.4.0或更早版本
PHP版本:PHP 7.2.0或更高版本
PEAR软件包:PEAR 1.4.0或更高版本
发布1.0.1:
PHP版本:PHP 7.3.0或更旧版本
PHP版本:PHP 7.2.0或更高版本
PEAR软件包:PEAR 1.4.0或更高版本
答案 3 :(得分:0)
使用它,可以在php-7.3中完美运行:
sudo apt-get -y install gcc make autoconf libc-dev pkg-config 须藤apt-get -y install libmcrypt-dev sudo pecl安装mcrypt-1.0.1
自动检测:命中输入
sudo bash -c“ echo extension = / usr / lib / php / [在您电脑中的文件夹] /mcrypt.so> /etc/php/7.3/cli/conf.d/mcrypt.ini”
sudo bash -c“ echo extension = / usr / lib / php / [在您电脑中的文件夹] /mcrypt.so> /etc/php/7.3/apache2/conf.d/mcrypt.ini”
php -i | grep mcrypt
答案 4 :(得分:-5)
我通过启用php5解决了这个问题:
a2dismod php7.0
a2enmod php5
就像评论所建议的那样-不推荐
对于使用prestashop的用户,请参阅以下修复程序: