Errore fatale Apache: troppa memoria utilizzata
Salve,
è da un po' di minuti che mi appare il seguente messaggio di errore:
Citazione:
Fatal error: Allowed memory size of 67108864 bytes exhausted at /install/apache/php/php-5.2.6_ss/Zend/zend_execute.c:1075 (tried to allocate 35 bytes) in ****on line **
E' comparso dopo che ho fatto molte prove con uno script php che sto creando, e penso sia dovuto proprio a questo.
La riga incriminata è
Codice PHP:
$readpagine[]=$file;
.
Prima andava bene, ma dopo l'ennesima volta che l'ho eseguito, qualcosa è andato male.
Posto la funzione:
Codice PHP:
function raccolta_interventi(){
$today=getdate();
$origine=2008;
$mese_origine=07;
$anno=$today['year'];
$link='blog/archivio/';
do{
$a=1;
for($i=12; $i>0; $i--){
if($i<10) $mese='0'.$i;
else $mese=$i;
if(is_dir(HOMESITE . $link . $anno . '/' . $mese)){
$cartella=opendir(HOMESITE . $link . $anno . '/' . $mese);
$file=readdir($cartella);
while($file){
if($file=='.'||$file=='..') continue;
$readpagine[]=$file;
}
closedir($cartella);
foreach($readpagine as $file){
if(is_dir(HOMESITE . $link . $anno . '/' . $mese.'/' . $file)) $pagine[]=$file;
}
sort($pagine);
foreach($pagine as $pag) $lista_interventi[]=HOMESITE . $link . $anno . '/' . $mese . '/' . $pag . '/page.php';
}
}
$anno--;
}while($anno>=$origine);
return $lista_interventi;
}
Questa è la pagina che esegue la funzione:
http://libflagspaces.altervista.org/blog/
EDIT:
Ho notato che avevo fatto una piccola modifica:
Da
Codice PHP:
while($file=readdir($cartella)){
a
Codice PHP:
$file=readdir($cartella);
while($file){
Con la prima, ho il problema posto sopra. Con la seconda, no. Come mai?