Forse questo provider non permette la riscrittura di questo parametro, inoltre 134217728 byte corrispondono a 128M.
Il consumo di memoria non dipende dal fatto che uno script sia piccolo o grande, basta un ciclo che manipola qualche variabile e la memoria può esaurirsi.
Nel tuo script ci sono vari cicli e la variabile $articoli è di tipo stringa, e potrebbe contenere una stringa molto grande.
Altro consiglio, non chiamare più volte la funzione count, nel tuo caso ad ogni iterata viene chiamata tale funzione, quanto invece basta memorizzare la dimensione in un array e poi interroghi la variabile, es.
Codice PHP:
for($c=0;$c<=count($autore);$c++){
if($c==count($autore)){
diventa:
Codice PHP:
$n=count($autore);
for($c=0;$c<=$n;$c++){
if($c==$n){