提问者:小点点

在PHP 7.3.13 Ubuntu上安装mcrypt的问题


这就是我一直在做的事情。

$ sudo apt-get -y install gcc make autoconf libc-dev pkg-config
$ sudo apt-get -y install libmcrypt-de
$ sudo pecl install mcrypt-1.0.2
> libmcrypt prefix? [autodetect] :

我在php中添加了“extension=mcrypt.so”。伊尼

那我会的

sudo bash -c "echo extension=/usr/lib/php/20190902/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini"
sudo bash -c "echo extension=/usr/lib/php/20190902/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini"

我遵照这些指示:https://lukasmestan.com/install-mcrypt-extension-in-php7-2/

最后,我检查与php-i|grep mcrypt

这是我的输出:

PHP Warning:  PHP Startup: mcrypt: Unable to initialize module
Module compiled with module API=20190902
PHP    compiled with module API=20180731
These options need to match
 in Unknown on line 0
/etc/php/7.3/cli/conf.d/20-mcrypt.ini,
/etc/php/7.3/cli/conf.d/mcrypt.ini

我已经检查了两个20英里的高度。伊尼和麦克里普。我和他们看起来完全一样。但是我的PHP似乎是用错误的模块API编译的。我搜索了一下,但找不到任何具体的信息。有身份证吗?谢谢

我一直在用什么

  • https://websiteforstudents.com/install-php-7-2-mcrypt-module-on-ubuntu-18-04-lts/
  • 安装php7.2-mcrypt的问题
  • https://gist.github.com/arzzen/1209aa4a430bd95db3090a3399e6c35f
  • Howto ubuntu 18.04安装/激活PHP扩展ext-mcrypt

共1个答案

匿名用户

我已经找到了解决同样问题的方法。

在我的例子中,pecl安装mcrypt-1.0。2diplays类似于

...
running: phpize
Configuring for:
PHP Api Version:         20190902
Zend Module Api No:      20190902
Zend Extension Api No:   320190902
libmcrypt prefix? [autodetect] :

问题仍然存在,请在自动检测中指定20180731

经过一些检查,我已经发现了问题:php cli运行php 7.3,所以我认为这是很好的配置,但两个phpizephp-config都链接到php 7.4!

所以你只需要启动以下内容:

sudo update-alternatives --set phpize /usr/bin/phpize7.3
sudo update-alternatives --set php /usr/bin/php7.3
sudo update-alternatives --set php-config /usr/bin/php-config7.3

重新启用了最新版本

pecl install mcrypt-1.0.2

这就是全部。

注:

  1. 在安装正确的版本之前,最终运行pecl uninstall mcrypt