如何在PHP 7.3.3 ubuntu上安装mcrypt。

11 浏览
0 Comments

如何在PHP 7.3.3 ubuntu上安装mcrypt。

我尝试按照以下步骤进行操作:

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 需要 PHP(版本 >= 7.2.0,版本 <= 7.3.0,排除版本:7.3.0),当前安装版本为 7.3.3-1+ubuntu14.04.1+deb.sury.org+1
未找到有效的软件包
安装失败

我使用的是需要此库的 PrestaShop。

0
0 Comments

问题出现的原因是在PHP 7.3.3版本的Ubuntu系统上安装mcrypt时遇到困难。下面是解决方法:

首先,需要安装一些必要的依赖项和工具:

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

然后,安装libmcrypt-dev:

sudo apt-get -y install libmcrypt-dev

接下来,使用pecl命令安装mcrypt扩展:

sudo pecl install mcrypt-1.0.1

安装完成后,需要在PHP配置中启用mcrypt扩展。可以通过以下命令在CLI和Apache2的配置中添加mcrypt扩展:

sudo bash -c "echo extension=/usr/lib/php/[your pc中的文件夹]/mcrypt.so > /etc/php/7.3/cli/conf.d/mcrypt.ini"

sudo bash -c "echo extension=/usr/lib/php/[your pc中的文件夹]/mcrypt.so > /etc/php/7.3/apache2/conf.d/mcrypt.ini"

最后,通过以下命令检查mcrypt扩展是否成功安装:

php -i | grep mcrypt

补充一点,还需要执行以下命令以便让PHP能够找到mcrypt模块:

sudo bash -c "echo extension=/usr/lib/php/[your pc中的文件夹]/mcrypt.so > /etc/php/7.3/mods-available/mcrypt.ini"

这样,就能成功在PHP 7.3.3版本的Ubuntu系统上安装mcrypt扩展了。

0
0 Comments

问题出现的原因是因为PHP 7.3.3的系统中没有安装mcrypt插件,而该插件只支持PHP 7.2及以下版本。解决方法是安装版本号为1.0.2的mcrypt插件。具体的步骤可以参考以下内容:

1. 打开官方的pecl/mcrypt页面,链接为https://pecl.php.net/package/mcrypt,里面有详细的文档说明。

2. 在文档中,可以找到Release 1.0.2和Release 1.0.1两个版本的信息。其中,Release 1.0.2支持PHP版本7.4.0及以前的版本,以及PHP版本7.2.0及更新的版本,需要安装PEAR版本1.4.0或更高版本。而Release 1.0.1则支持PHP版本7.3.0及以前的版本,以及PHP版本7.2.0及更新的版本,同样需要安装PEAR版本1.4.0或更高版本。

3. 在另外一个链接php.net/manual/en/migration71.deprecated.php中可以找到相关信息,这个页面提到了虽然可以安装mcrypt插件,但并不推荐使用,因为在加密数据方面存在安全问题。

4. 另外,还可以参考链接github.com/PrestaShop/PrestaShop/commit/…中的解决方案。然而需要注意的是,该方案仍然存在问题,因为它没有以安全的方式对加密数据进行填充和打包(如HMAC签名等)。

要在PHP 7.3.3的Ubuntu系统上安装mcrypt插件,需要安装版本号为1.0.2的mcrypt插件,并确认系统满足相关的PHP和PEAR版本要求。然而,鉴于mcrypt插件存在安全问题,建议不要使用该插件。

0
0 Comments

如何在PHP 7.3.3的Ubuntu上安装mcrypt的问题是由以下原因引起的:在使用AWS bitnami安装的php7.3.10时,需要安装mcrypt扩展,但是在默认安装中没有包含此扩展。

解决方法如下:

首先,检查PHP的版本:

$ php -version

然后,安装mcrypt扩展的依赖项:

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

接下来,根据PHP的版本选择安装mcrypt扩展的特定版本:

如果PHP版本大于7.3.0:

$ sudo pecl install mcrypt-1.0.2

或者安装最新版本:

$ sudo pecl install mcrypt-1.0.3

如果PHP版本小于或等于7.3.0:

$ sudo pecl install mcrypt-1.0.1

安装过程中会显示提示信息,需要按Enter键进行自动检测。

接下来,检查php.ini文件是否已经包含了mcrypt扩展,并取消注释:

$ more /opt/bitnami/php/etc/php.ini | grep mcrypt

如果存在以下行,则需要取消注释:

;extension=mcrypt.so

编辑php.ini文件并添加或取消注释以下行:

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

将下面这行添加或取消注释:

extension=mcrypt.so

参考链接:

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

- https://stackoverflow.com/questions/55678023

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

注意事项:

- 在安装过程中,需要先安装php7.3-dev。

- 可以使用以下命令来安装模块:

bash -c "echo extension=/path/to/mcrypt.so > /etc/php/7.3/mods-available/mcrypt.ini"

然后运行:

phpenmod mcrypt

对于PHP版本大于7.4的情况,需要安装下一个版本的mcrypt:

sudo pecl install mcrypt-1.0.3

0