рассчитываем количество дней в месяце
date_default_timezone_set('Europe/Moscow');
$date = strtotime("now");
$interval = 2;
$payment_periodicity_period = 'month';
$payment_date = strtotime('+'. $interval . ' ' . $payment_periodicity_period, $date);
$dtStr = date("c", $payment_date);
$month_date = new DateTime($dtStr);
$m = $month_date->format('m');
$y = $month_date->format('Y');
$qty_month_period = cal_days_in_month(CAL_GREGORIAN, $m, $y); // 31
echo $qty_month_period;