Codice PHP:
$startDate mktime(0,0,0,1,30,2008); //Contiene la sata d'inizio
$endDate mktime(0,0,0,1,12,2009); //Conteiene la data di fine

$tmpDate $startDate//Variabile di Appoggio

//Creo un ciclo nel quale vada ad incrementare la variabile di appoggio e continuo fino
//A quando è maggiore della data di fine
while($tmpDate <= $endDate){
   
//Stampo il mese ed anno
   
echo date("F Y"$tmpDate)."
"
;
  
   
//Incremento la data di appoggio
   
$tmpDate mktime(date("H"$tmpDate),date("i"$tmpDate),date("s"$tmpDate), date("n"$tmpDate) + 1date("j"$tmpDate), date("Y"$tmpDate));
   
//Noterai il  + 1 al mese, che incrementerà di un mese la variabile di appoggio
}

//Un ulitma cosa: se la data di inizio era un giorno del mese superiore della data di fine
//Ad esempio $startDate = 10 gennaio ed $endDate = 1 settembre
//Il mese ed anno in $endDate non verrà stampato, quindi:

if(date("j"$startDate) > date('j'$endDate)){
   echo 
date("F Y"$endDate)."
"
;

Dovrebbe andare