Y tal vez deberias probar con el try y catch como esta en el ejemplo:
<?php
try {
$connected = ConnectionManager::getDataSource('default');
} catch (Exception $connectionError) {
$connected = false;
}
if ($connected && $connected->isConnected()) {
//Se conecto que hacer...
} else {
//No se conecto que hacer...
}
?>
Y creería que tu función debería ser así:
public function estado_bd(){
App::uses('ConnectionManager', 'Model');
try {
$connected = ConnectionManager::getDataSource('default');
} catch (Exception $connectionError) {
$connected = false;
}
if ($connected && $connected->isConnected()) {
return true;
} else {
return false
}
}
De esta manera atrapa el error.
Saludos!!
El 13 de noviembre de 2013 16:11, Marcelo <[email protected]> escribió:
> Tengo una aplicación que utiliza 3 bases de datos, si por algún motivo una
> base de datos pierde la conexión, me sale le siguiente error:
>
> Error: A Database connection using "Mysql" was missing or unable to
>> connect.
>> The database server returned this error: SQLSTATE[28000] [1045] Access
>> denied for user 'root'@'localhost' (using password: YES)
>
>
> El problema es que la aplicación debe seguir funcionando si pierde la
> conexión, y si coloco el debug en 0 me sale el siguiente error:
>
> Error: An Internal Error Has Occurred.
>
>
> Alguna opción para que la aplicación siga mostrando el contenido estático
> y pueda seguir funcionando si pierde la conexión en alguna base de datos?
>
> Saludos
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
> Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus correos
> electrónicos, envía un correo electrónico a
> [email protected].
> Para publicar una entrada en este grupo, envía un correo electrónico a
> [email protected].
> Visita este grupo en http://groups.google.com/group/cakephp-es.
> Para obtener más opciones, visita https://groups.google.com/groups/opt_out
> .
>
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos
electrónicos, envía un correo electrónico a
[email protected].
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Visita este grupo en http://groups.google.com/group/cakephp-es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.