В упор не вижу, что вы тут написали кроме "ini_set"
Уберите базу и пусть findById ищет в /etc/passwd -- мой ответ и понимание не поменяется.
User::findById
DevMan, мне не понятно, как оно определяет какой файл грузить если я имя файла не пишу.
(function() { ... })->bindTo($this);
прежде чем добавить данные в запрос ВСЕГДА ты должен их вначале проверить!!!!
Но если ставить вопрос ребром и выбирать "или одно, или другое", то общее отключение вывода ошибок и включение их логгирования на порядки правильнее, нежели обработка одной единственной ситуации через try/catch, т.к. персональные данные в трейсе содержатся не только при попытках подключения к БД.