Muchas veces me ha pasado que al querer mostrar una fecha y hora con php, esta ultima no coincide con la hora actual. La solución que he encontrado es agregar la siguiente linea de código:
date_default_timezone_set("America/Santiago");
quedando de esta manera:
date_default_timezone_set("America/Santiago");
$fecha = date("Y-m-d G:i:s");
echo $fecha
La salida seria algo así :
"2014-04-03 9:51:40"