[PHP-users 8778] Re: ODBC接続によるセッション管理で、Oracle サーバにプロセスが溜まってしまう問題
Takeshi Yamguchi
php-users@php.gr.jp
Fri, 19 Jul 2002 12:10:58 +0900
自己レスです。
いろいろ試してみましたが結局問題は解決していませんが、
なんとなく問題点が浮き彫りになってきたので
ご報告いたします。
セッション管理の開始・終了は
実現することができたのですが、サーバにプロセスが残ってしまい、
サーバに負荷がかかってしまいます。
■私はODBC接続にてOracleサーバに接続しているため、
db_odbc.incのソースを確認してみました。
すると
このスクリプトを利用することでセッション管理の開始・終了は
実現することができたのですが、サーバにプロセスが残ってしまい、
サーバに負荷がかかってしまいます。
私はODBC接続にてOracleサーバに接続しているため、db_odbc.incの
ソースを確認してみました。
すると
function connect() {
if ( 0 == $this->Link_ID ) {
$this->Link_ID=odbc_pconnect($this->Database, $this->User,
$this->Password, $this->UseODBCCursor);
if (!$this->Link_ID) {
$this->halt("Link-ID == false, odbc_pconnect failed");
}
}
}
の部分でデータベースに持続的接続関数「odbc_pconnect」を用いて
接続をしているのに対して「odbc_close」が見当たりませんでした。
クローズしないため接続が続いてしまってサーバにプロセスが残ってしまうのではと
考えているのですが...
※現状としてはログイン・ログアウトを繰り返す回数分だけ
サーバにプロセスが溜まってしまうようです。
何かサーバにプロセスを残さない良い方法はあるのでしょうか?
----------------------
TakeshiYamaguchi
t-yamaguchi@f-com.co.jp