这就是我一直在做的事情。
$ 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编译的。我搜索了一下,但找不到任何具体的信息。有身份证吗?谢谢
我一直在用什么
我已经找到了解决同样问题的方法。
在我的例子中,pecl安装mcrypt-1.0。2
diplays类似于
...
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,所以我认为这是很好的配置,但两个phpize
和php-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
这就是全部。
注:
pecl uninstall mcrypt