codeIgniter PHP 8.0中未定义的常量“MCRYPT_RIJNDAEL_128”[重复]

Posted

技术标签:

【中文标题】codeIgniter PHP 8.0中未定义的常量“MCRYPT_RIJNDAEL_128”[重复]【英文标题】:Undefined constant "MCRYPT_RIJNDAEL_128" in codeIgniter PHP 8.0 [duplicate] 【发布时间】:2022-01-18 11:28:24 【问题描述】:

我正在 Windows 10 本地 wamp 服务器的 CodeIgniter 中将 php 7.x 升级到 8.0。我发现了这个错误:-

消息:未定义的常量“MCRYPT_RIJNDAEL_128”

我的代码是这样的:-

$password = trim(openssl_encrypt(MCRYPT_RIJNDAEL_128, $key, $encrypted, MCRYPT_MODE_CBC, $iv), "\0..\32");

错误显示如下:-

【问题讨论】:

还是这个? ***.com/questions/54126215/… 它不起作用,所以我在这里提出了新问题.. @NicoHaase 什么是“它”?您尝试过什么来解决问题?你被困在哪里了? @NicoHaase 我将 extension=extname AND extension=php_extname.dll 放入 php.ini 并重新启动 wamp。我下载了 libmcrypt-2.5.8.tar.gz 但不知道如何应用。 为什么不从pecl.php.net/package/mcrypt/1.0.4/windows 安装 v1.0.4,这是该扩展的最新版本? PHP 8 已于 2020 年底发布,该扩展的 v1.0.3 比它早了一年多,很明显它不能与 PHP 8 兼容 【参考方案1】:

来自 php.net:

此扩展已移至 » PECL 存储库,自 PHP 7.2.0 起不再与 PHP 捆绑

您可以尝试通过 pecl 安装 mcrypt 扩展。就我而言,它是 Ubuntu:

pecl install mcrypt

For windows

【讨论】:

我在本地电脑上安装了 Windows 10 @Dmitry 的 Wamp 服务器。我尝试了你的步骤,但没有工作。我将 extension=extname AND extension=php_extname.dll 放入 php.ini 并重新启动 wamp。什么都没发生! @chiragp 你也可以检查一下 - ***.com/questions/52590607/…

以上是关于codeIgniter PHP 8.0中未定义的常量“MCRYPT_RIJNDAEL_128”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 codeigniter 中未访问 home.php

CodeIgniter 4 项目中未定义的常量“CodeIgniter\Database\MySQLi\MYSQLI_STORE_RESULT”

Codeigniter 4 不适用于带有 PHP 8.0 的 xampp

Codeigniter:在 mac safari 中未检测到 vcf mime 类型

在 Android 8.0 中未显示使用 parse sdk 的推送通知

后控制器挂钩不会在 codeigniter 中未找到的控制器上抛出 404