Il timeout di PHP vuol dire che l'operazione richiede molto tempo e il timeout impostato in php.ini è insufficiente, quindi aumentalo lì, anche se di default è 30 secondi e per una connessione direi che sono molto più che sufficienti. Il problema potrebbe essere che l'host del db in realtà non risponde oppure qualche parametro per la connessione è sbagliato e PHP resta comunque in attesa fino al timeout.
Lato PHP oltre a provare ad aumentare il timeout (cosa per me inutile, visto che non è accettabile aspettare più di 30 secondi solo per la connessione, hai un problema da qualche altra parte, anche solo di lentezza se tutte le impostazioni sono giuste), non c'è altro da fare.

Per impostazioni del DB, chiedi nella sezione Database, per impostazioni di Apache, chiedi in Server -> Apache.