[php] zwalnianie pamieci

0

czy moge jakos zwalniac pamiec w moich testach żebym nie był ograniczany przez ten bład:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 35 bytes) in

?
widac go na stronie:

kod php jest tu

<?php

include('funkcje.inc');


// generowanie par losowych liczb o wspolnych przedzialach (po to aby wykazac fibonacciego)

$max = mt_getrandmax()+1;


$operation = array();

// liczniki do zliaczania zlozonosci
$m = 0;
$n = 0;

for ($i=1; $i<=29; $i+=6)
{
	for ($k=1; $k<=29; $k+=6)
	{
		$od_1 = pow(2,$i);
		$do_1 = pow(2,$i+6);

		$od_2 = pow(2,$k);
		$do_2 = pow(2,$k+6);

		// liczby losowe:
		$temp1 = abs(mt_rand($od_1,$do_1) + mt_rand($od_1,$do_1));
		$temp2 = abs(mt_rand($od_2,$do_2) + mt_rand($od_2,$do_2));

		echo 'Dla liczb z zakresu:<br />'; 
		echo '- od ' . ($od_1 + $od_1) . ' (2^' . ($i+1) . ') do ' . ($do_1 + $do_1) . ' (2^' . ($i+7) . '), liczba losowa A = ' . $temp1 . '.<br />';
		echo '- od ' . ($od_2 + $od_2) . ' (2^' . ($k+1) . ') do ' . ($do_2 + $do_2) . ' (2^' . ($k+7) . '), liczba losowa B = ' . $temp2 . '.<br /><br />';


		// operacje na tych liczbach
		test($temp1,$temp2);


	}
}

?>

ale najważniejsze, czyli funkcja ze static tutaj:

0

Używaj unset do zwalaniania niepotrzebnych zmiennych. Ale jeśli potrzebujesz wszystko, pomoże tylko zmiana ustawień php (memory_limit)

0

dobra podopisywałem unset tam gdzie sie tylko da, ale i tak pewnie jak nadpisze te zmienne nowymi to na jedno wyjdzie..

<?php

include('funkcje.inc');


// generowanie par losowych liczb o wspolnych przedzialach (po to aby wykazac fibonacciego)

$max = mt_getrandmax()+1;


$operation = array();

// liczniki do zliaczania zlozonosci
$m = 0;
$n = 0;

for ($i=1; $i<=29; $i+=6)
{
	for ($k=1; $k<=29; $k+=6)
	{
		$od_1 = pow(2,$i);
		$do_1 = pow(2,$i+6);

		$od_2 = pow(2,$k);
		$do_2 = pow(2,$k+6);

		// liczby losowe:
		$temp1 = abs(mt_rand($od_1,$do_1) + mt_rand($od_1,$do_1));
		$temp2 = abs(mt_rand($od_2,$do_2) + mt_rand($od_2,$do_2));

		echo 'Dla liczb z zakresu:<br />'; 
		echo '- od ' . ($od_1 + $od_1) . ' (2^' . ($i+1) . ') do ' . ($do_1 + $do_1) . ' (2^' . ($i+7) . '), liczba losowa A = ' . $temp1 . '.<br />';
		echo '- od ' . ($od_2 + $od_2) . ' (2^' . ($k+1) . ') do ' . ($do_2 + $do_2) . ' (2^' . ($k+7) . '), liczba losowa B = ' . $temp2 . '.<br /><br />';


		// operacje na tych liczbach
		test($temp1,$temp2);
		unset($temp1); unset($temp2);

	}
}

?>

dalej jest ten bład:

da sie to jeszcze jakos zoptymalizowac?

//Nie mamy tu znaczników - to nie phpBB - M

1 użytkowników online, w tym zalogowanych: 0, gości: 1