Drupal 7 pcntl_fork, дети не могут БД: "mysql server has gone away"

Главные вкладки

Аватар пользователя zm zm 22 июля 2013 в 15:35

Всем привет, есть проблема суть которой заключается в следующем:
1. делаю форк процесса (pcntl_fork)
2. родитель завершает работу и убивает общие дескрипторы файлов и БД
3. потомок не может обратиться к БД с ошибкой "SQLSTATE[HY000]: General error: 2006 MySQL server has gone away"
Понимаю, что надо бы открыть соединение заново, но это сделать не получается:
1.перед форком закрываю соединение (Database::closeConnection();)
2. после форка открываю (Database::getConnection();)
3. не помогает.
также не помогает ini_set('mysqli.reconnect', 'on');

есть какие-нибудь идеи на этот счёт?
Спасибо.

Комментарии

Аватар пользователя zm zm 22 июля 2013 в 16:43

Спасибо, но проблема немного не в БД, а в том, что родитель закрывает соединение и потомок теряет дескриптор подключения к БД, вопрос больше о том как переоткрыть этот дескриптор.

Аватар пользователя zm zm 23 июля 2013 в 17:02

После того как родитель отрабатывает, любые обращения потомков к БД заканчиваются таким результатом:
SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
если вы об этом