繁体   English   中英

如何在 PHP 7.3.3 ubuntu 上安装 mcrypt

[英]How to install mcrypt on PHP 7.3.3 ubuntu

我试图遵循: PHP警告:PHP启动:无法加载动态库'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

如果有人使用带 php7.3.10 的 AWS bitnami 安装,以下是具有适当文件路径的布局(下面列出了参考资料)

检查您的 PHP 版本

$ php -version

安装mcrypt扩展

$ sudo apt-get -y install gcc make autoconf libc-dev pkg-config
$ sudo apt-get -y install libmcrypt-dev

如果 php 版本 > 7.3.0

$ sudo pecl install mcrypt-1.0.2

或最新版本: https : //pecl.php.net/package/mcrypt

如果 php 版本 <= 7.3.0

$ sudo pecl install mcrypt-1.0.1

当您看到提示时(按 [Enter] 自动检测)

> libmcrypt prefix? [autodetect] :

在 php.ini 中启用mcrypt -> 检查mcrypt是否已经在 php.ini 中,也许只需要取消注释

$ more /opt/bitnami/php/etc/php.ini | grep mcrypt
;extension=mcrypt.so

在 php.ini 中添加或取消注释extension=mcrypt.so

$ emacs /opt/bitnami/php/etc/php.ini

参考...

https://lukasmestan.com/install-mcrypt-extension-in-php7-2/

如何在 PHP 7.3.3 ubuntu 上安装 mcrypt

https://stackoverflow.com/a/55678046/2298002

您必须安装 1.0.2 版。

错误消息清楚地告诉您 1.0.1 仅支持 PHP 7.2,不支持 7.3。

这一切都记录在官方pecl/mcrypt页面上

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 或更新版本

使用它,它在 php-7.3 中完美运行:

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.1

自动检测:按 ENTER

sudo bash -c "echo extension=/usr/lib/php/[folder in your pc]/mcrypt.so > /etc/php/7.3/cli/conf.d/mcrypt.ini"
sudo bash -c "echo extension=/usr/lib/php/[folder in your pc]/mcrypt.so > /etc/php/7.3/apache2/conf.d/mcrypt.ini"

php -i | grep mcrypt

我在 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

  1. /etc/php/7.4/fpm/php.ini
  2. /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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM