Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MCRYPT_RIJNDAEL_256 PHP内存大小错误_Php - Fatal编程技术网

MCRYPT_RIJNDAEL_256 PHP内存大小错误

MCRYPT_RIJNDAEL_256 PHP内存大小错误,php,Php,在我继承的代码库中,有一行代码在错误页面上显示之前对错误消息进行编码 $sErrorMessageCrypted = wordwrap(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($sKey), $sMessage, MCRYPT_MODE_CBC, md5(md5($sKey)))), 60, PHP_EOL, true); 错误是PHP致命错误:允许的内存大小134217728字节已用尽(尝试分配81字节) 它

在我继承的代码库中,有一行代码在错误页面上显示之前对错误消息进行编码

        $sErrorMessageCrypted = wordwrap(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($sKey), $sMessage, MCRYPT_MODE_CBC, md5(md5($sKey)))), 60, PHP_EOL, true);
错误是PHP致命错误:允许的内存大小134217728字节已用尽(尝试分配81字节)

它作为输入接收的错误消息长度为1674个字符,包含23个字符的salt

所以,我想知道这里的进程,以及为什么会占用这么多内存。我想这是因为错误可以在没有人能够读取的情况下显示出来。(尽管我看不到以前的开发人员有解密功能的地方)

有什么改变的建议吗


谢谢

我的猜测是,加入OpenSSL加密库使您超过了128MB的限制。增加内存限制是最简单的解决方法。如果您不能做到这一点,您可以重建库并消除不必要的密码以减小大小。

您的脚本正在接近ram限制,然后保存新字符串所需的额外一点ram将跳过该行。这段代码并没有什么“错误”,只是运行时内存限制太小了。在不了解脚本其余部分的情况下,除了“不要使用太多内存”或“提高限制”之外,我们几乎无法提供帮助。我可以将服务器的限制从128MB提高到128MB,但如果每个异常都出现这种情况,那么如果许多人同时遇到类似问题,服务器将承受很大压力。我可能需要查看每个步骤的内存使用情况。。可能是使用内存获取用法()。与其隐藏问题,我更愿意修复它或至少理解它。肯定就是这一行占用了这么多内存。我想是mcrypt_加密耗尽了所有内存,但我可能应该测试一下,而不是猜测一下。我只是想知道使用这么多内存是否有明显的原因。请注意,这是一个虚拟内存限制,因此映射大量从未运行过的代码不会给服务器带来压力。您需要查看其他统计数据,以了解实际使用了多少物理内存。