<?php
$start = (new DateTime('2014-01-01'))->modify('first day of this month');
$end = (new DateTime('2015-03-04'))->modify('first day of this month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
$months = array();
foreach ($period as $dt) {
$months[] = $dt->format("F Y");
}
print_r($months);
Array
(
[0] => January 2014
[1] => February 2014
[2] => March 2014
[3] => April 2014
[4] => May 2014
[5] => June 2014
[6] => July 2014
[7] => August 2014
[8] => September 2014
[9] => October 2014
[10] => November 2014
[11] => December 2014
[12] => January 2015
[13] => February 2015
)