Web sitemde PHP kullanarak bir parola oluşturmaya çalışıyorum. Lua'yı kullanmadan önce aynı şeyi yarattım, ancak şu anda üzerinde çalışıyorum, ancak çok fazla bellek tükettiğimi iddia etmekle hata veriyor, ancak buna neden olabileceğinden emin değilim:Özyineleme işlevinde atanan bellek hatası
function offsetASCII($OrigByte, $Offset) {
$OrigByte = $OrigByte + $Offset;
if ($OrigByte > $MaxASCII) {
return offsetASCII($MinASCII, $OrigByte-$MaxASCII);
} else {
return $OrigByte;
}
}
Buradaki fikir, OrigByte sayısını Offset (Offset) sayısıyla dengelememesidir. OrigByte için yeni değer izin verilen maksimum değerden daha büyükse, OrigByte işlevini izin verilen en düşük değer olarak yineler ve "artık" miktarını, maksimum değerin üzerine çıkardığı ofset'i yapar. Bu, maksimum değerin içine girene kadar tekrar eder ve sonra geri döndürür.
hatadır:
Fatal error: Allowed memory size of 94371840 bytes exhausted (tried to allocate 130968 bytes) in [PageDirectoryHere] on line 49
Hat 49 ise:
return offsetASCII($MinASCII, $OrigByte-$MaxASCII);
OrigByte kendi ASCII değerine dönüştürülür hiçbir harf olabilir. MinascII ve MaxasCII, ASCII (65 ve 90) 'daki büyük harflerin minimum ve maksimum değerleridir. Ofset başlangıçta rand ($ MinASCII, $ MinASCII + 25).
Bunun olmasına neden olduğum için clueless, bu yüzden herhangi bir yardım için şimdiden teşekkürler!
php.ini içinde bellek sınırını artırın –
Neden bir şifreleme oluşturmaya çalışıyorsunuz? Bu ne için? Çünkü kendi kriptosunu asla yuvarlamamalısın. – st2erw2od
Size verebileceğimiz en iyi cevabı kullandığınız gerçek veriler hakkında herhangi bir bilgi bilmediğimizden "PHP mevcut tüm belleğini tükettiği için". – h2ooooooo