powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / reconnect
3 сообщений из 3, страница 1 из 1
reconnect
    #39829643
Swv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.


использую PDO firebird

есть класс. в нем функции соединения, старта транзакции и тд.

участилась такая ерунда. моргает свет. так уж получилось , что на все бесперебойников не хватает.
Но сервер где сайт и сервер где база остаются живы.
Но рверся соединение с базой. Решил по простому. стартую транзакцию. если какое то исключение перехвачено, то $dbh = NULL , далее запускаю еще раз функцию connect. и после этого еще раз старт транзакции.

внутри примерно так
Код: php
1.
$dbh = new PDO('firebird:dbname=127.0.0.1:D:\bases\base.fdb;charset=UTF8', 'SYSDBA', 'masterkey',array(PDO::ATTR_PERSISTENT => true))



естественно все обернуто в try\catch. ну и если вдруг соединение не прошло - обругать должно.

А в данном случае не ругается ) те выполняется функция соединения без каких либо ошибок. в мониторинге firebird тоже тишина. никакого намека на создание соединения. и никакого исключения

пробовал воспроизвести. стартую сервер. запускаю простенький скрипт. он отрабатывает. срубаю соединение с базой. эдакая эмуляция потери соединения. Запускаю еще раз тот же скрипт. по ходу пьесы запускается транзакция, обламывается. вызывается еще раз функция соединения с базой. потом запускается еще раз транзакция и обламывается с той же ошибкой - error reading.....

Собственно вопрос. почему не создается еще раз PDO соединение?
...
Рейтинг: 0 / 0
reconnect
    #39829743
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. вряд ли кто ответит, фб не сильно популярен в сочетании с пхп
2. pdo_firebird никогда не отличался стабильностью

зы
плюс надо понимать что персистент дб-соединения в пхп работают не совсем так, как многие думают
...
Рейтинг: 0 / 0
reconnect
    #39829853
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwvСобственно вопрос. почему не создается еще раз PDO соединение?Потому что ATTR_PERSISTENT говорит - не создавать новое соединение, а использовать старое. А в драйвере видимо нет проверки, что соединение оборвалось, драйвер продолжает использовать это соединение несмотря ни на какие ошибки.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / reconnect
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]