Problemet är att du försöker ansluta till databasen INNAN du ställer in tyst attribut. Så under anslutningsförsöket är PDO fortfarande fri att skrika så högt den vill. Du måste ange tyst som en del av själva anslutningsförsöket:
$dbh = new PDO($[..snip..], array(PDO::ATTR_PERSISTENT => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT));
^^^^^^^^^^^