Я пытаюсь создать encrypter на своем веб-сайте с помощью PHP. Я создал то же самое перед использованием Lua, поэтому в настоящее время я пытаюсь его перенести, однако это ошибка, заявляющая, что я исчерпал слишком много памяти, но я не уверен, что могло бы вызвать это:Выделенная ошибка памяти в рекурсивной функции
function offsetASCII($OrigByte, $Offset) {
$OrigByte = $OrigByte + $Offset;
if ($OrigByte > $MaxASCII) {
return offsetASCII($MinASCII, $OrigByte-$MaxASCII);
} else {
return $OrigByte;
}
}
Идея состоит в том, что она поддерживает смещение номера OrigByte на число Offset. Если новое значение для OrigByte больше максимально допустимого значения, то оно повторяет функцию, которая делает OrigByte минимальным допустимым значением, и делает смещение «оставшейся» суммы, на которую оно превысило максимальное значение. Это повторяется до тех пор, пока оно не будет в пределах максимального значения, а затем оно вернет его.
Ошибка:
Fatal error: Allowed memory size of 94371840 bytes exhausted (tried to allocate 130968 bytes) in [PageDirectoryHere] on line 49
Линия 49:
return offsetASCII($MinASCII, $OrigByte-$MaxASCII);
OrigByte может быть любой буквой превращали в его ASCII-значение. MinASCII и MaxASCII являются минимальными и максимальными значениями заглавных букв в ASCII (65 и 90). Смещение первоначально является rand ($ MinASCII, $ MinASCII + 25).
Я не знаю, почему это происходит, поэтому заблаговременно за помощь!
Увеличение предела памяти в php.ini –
Почему вы пытаетесь создать шифр? Для чего это? Потому что вы никогда не должны откатывать свой собственный крипто. – st2erw2od
Поскольку мы не знаем никакой информации о фактических данных, которые вы используете, лучший ответ, который мы можем вам дать, «потому что PHP исчерпал всю доступную память». – h2ooooooo