Change language to formated month 'F' of existing code

I have a working code that does what I need (hide year from startdate if its same as enddate). But it only shows english month names.

at conexion.php had

    $conn = new PDO('mysql:host='.$host.';dbname='.$db, $user, $pwd);
    $conn->query("SET lc_time_names = 'de_DE'");

lc_time_names worked fine with

    <?php echo $row ['start_date'];?> & <?php echo $row ['end_date'];?>

But with hidden months not: this is the working code

require_once 'conexion.php';
    $result;
    $conn = dbConnect();
    $sql = 'SELECT start_date, end_date FROM dates';    
    $result = $conn->query($sql);       
    $rows = $result->fetchall();    
 ?>


        <?php
            foreach ($rows as $row) {   
        ?>

                            <tr>
                                <td>

                     <?php                   
    $start=new DateTime($row['start_date']);
    $startDay=$start->format('j');
    $startMonth=$start->format('F');
    $startYear=$start->format ('Y');
    $end=new DateTime($row['end_date']);
    $endDay=$end->format('j');
    $endMonth=$end->format('F');
    $endYear=$end->format('Y');

    $s=(
        ($startMonth == $endMonth && $startYear==$endYear) ? "$startDay $startMonth to $endDay $endMonth $startYear" : 
            ( ($startMonth!==$endMonth && $startYear==$endYear) ? "$startDay $startMonth to $endDay $endMonth $startYear" : 
                ( ($startMonth==$endMonth && $startYear!==$endYear) ? "$startDay $startMonth $startYear to $endDay $endMonth $endYear" : 
                                                                     "$startDay $startMonth $startYear to $endDay $endMonth $endYear"
                )
             )
        );
    echo $s.PHP_EOL;


                    ?>
                                </td>