PHP выходит из соединения с Oracle - PullRequest
1 голос
/ 19 января 2010

У нас есть постоянная проблема, когда php 5.2.6 прекратит подключение к Oracle 10.2.0.4.0.Мы можем провести недели без проблем, и тогда (обычно в субботу утром) php больше не сможет подключиться.База данных запущена и работает, и мы можем подключиться к ней вручную с помощью различных инструментов БД, но php больше никогда не подключится, пока мы не перезагрузим веб-сервер.Веб-сервер работает под управлением IIS 6.0.

Мы подключаемся, используя $ connection = oci_connect ($ userID, $ password, $ TNS), где $ TNS - соответствующий TNS в локальном файле tnsnames.ora.Мы проходим через менеджера соединений в нашем центре обработки данных, но я не знаю подробностей о том, как это работает.

Одна из причин, по которой нас преследуют, заключается в том, что мы не совсем уверены, кто являетсяпроблема и различные журналы не пролили свет на это.Это проблема php, как она выглядит, или сама БД по какой-то причине отклоняет соединения, или это, возможно, диспетчер соединений?Некоторый вклад в выяснение этого очень помог бы.Наша нагрузка легче в выходные дни, так что это должно быть проблемой.Нам не удалось найти какие-либо внешние процессы, которые могли бы инициировать проблему.

1 Ответ

0 голосов
/ 19 января 2010

На самом деле это не «первопричина», но если вы не используете FastCGI, переход на FastCGI может помочь в решении этой проблемы. Процесс PHP в FastCGI не живет «недели». Поскольку клиент Oracle динамически загружается в процесс PHP, автоматический перезапуск процесса, который вы получаете с помощью FastCGI, должен быть идентичен перезапуску веб-сервера. Вы всегда можете настроить параметры FastCGI для более или менее частого перезапуска процесса.

Если вы используете ISAPI, возможно, это ваша основная причина. PHP и ISAPI - плохие новости в сочетании. Проблемы почти неизбежны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...