@ylebedev

Куда PDO пишет ошибки если нет try / catch?

Куда PDO пишет ошибки если нет try / catch ?

в php error log? или всёдке надо писать какой то обработчик?

сейчас включён xDebug, но он пишет только ошибка.

( ! ) Fatal error: Uncaught exception 'PDOException' with message ' in C:\xammp\test\sqlconfig\global.php on line 1035
( ! ) PDOException: in C:\xammp\test\sqlconfig\global.php on line 1035

а вот что это за ошибка? - ну общая то понятно, PDO ругается на базу, а конкретики нет.

Причём ошибка плавающая, то один запрос вывалит, то другой.

и что ответил pdo не найду.
  • Вопрос задан
  • 3035 просмотров
Решения вопроса 1
@ylebedev Автор вопроса
короче всё нашел в php_error.log

[28-Feb-2015 13:19:32 Europe/Paris] PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Невозможно выполнить операцию на сокете, т.к. буфер слишком мал или очередь переполнена.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
vikoff
@vikoff
Web-разработчик
В pdo есть возможность выбора способа обработки ошибок - php.net/manual/ru/pdo.error-handling.php. В вашем случае, видимо, выбран PDO::ERRMODE_EXCEPTION, тогда всегда будет кидаться Exception и вам нужно вручную ловить его через try-catch. Если же выбрать режим PDO::ERRMODE_WARNING, тогда ошибки будут писаться в лог, и вы сможете удобно ознакомиться с их текстом оттуда.
Ответ написан
@serjioms
Я так понимаю, в catch будет то же описание что и выдает xDebug?
Ответ написан
Комментировать
FanatPHP
@FanatPHP
Чебуратор тега РНР
Никакой обработчик писать не надо.
Порождается стандартная Fatal error, которая должна содержать текст ошибки.
То есть, PDO дальше становится не при чем, и ошибка обрабатывается так же, как и все остальные. То есть, куда по умолчанию выводит ошибки РНР - туда и выведется.

Проблема, как я понимаю, в отсутствии текста ошибки. Я бы грешил на xdebug и для начала попробовал бы без него.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы