Premesso che ho letto la guida per gestire gli errori mediante un’azione
premesso che yii mi sembra già ben configurato normalmente per farlo.
Infatti in /config/main.php leggo:
'errorHandler'=>array(
// use 'site/error' action to display errors
'errorAction'=>'site/error',
),
premesso che ho configurato l’action Error del controller Site per inviarmi una mail:
public function actionError()
{
Lib::mailText('xxxxx@gmail.com', 'prova', 'ciao');
......
......
}
e se richiamo un file mancante funziona.
Per esempio se scrivo htttp://localhost/questofilenonesiste
mi arriva una mail segno che il framework ha fatto l’handling dell’errore correttamente.
Ora veniamo al problema.
Ho scritto questa funzione:
private function test() {
//sbaglio di proposito la query per verificare se yii mi manda la mail
$query="select *, campo_inesistente from tabella";
$result=Yii::app()->db->createCommand($query)->query()->readAll();
}
che quando richiamata, mi mostra chiaramente a video l’errore:
CDbException
CDbCommand ha riportato un errore nell’esecuzione della query SQL: SQLSTATE[42S22]: Column not found:
…
ma non mi arriva la mail per informarmi del problema.
Sembra quasi che YII non sia configurato correttamente per fare l’handling degli errori CDbException,
tuttavia la configurazione in config/main.php mi sembra esatta.
Qualcuno sa come risolvere?