- - PR -
php5,0,5からOracle10gへの接続ができない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-05-30 20:08
すみません、非常に困っているので、どなたか助言ございましたら
よろしくお願いしますm(_ _)m 以下の環境で開発をおこなっております。 ・php5.0.5 ・oracle10g ・Linux ・DBサーバとウェブサーバは別 phpのoci接続関数を用いたスクリプトを実行すると、 最初の接続関数の部分で処理がとまってしまいます。 関数が最後まで終了せず、タイムアウトエラーのみアパッチログに はかれています。 TeraTerm等でのDBサーバ接続は問題なくおこなえますし、 ウェブサーバからsqlplusを実行することもできます。 なので設定やプロセス等の問題ではないと思うのですが・・ OCILogon関数やPEARのmdb2モジュールのmdb2::connect関数なども ためしてみたのですが、どれも同じ症状が出ます。 少し前までは接続部分のスクリプトは正常に実行されていて、 insertやupdate等の操作系sqlを実行すると処理がとまっていました。 テストで何度か実行していると、急に接続関数部分でとまるようになったんです。 まったく原因がわからず途方にくれております。 何かわかる方がいらっしゃいましたら、アドバイスお願いいたします。。 | ||||
|
投稿日時: 2008-05-31 15:22
PHPの実行モジュールのディレクトリになるのだろうか? どっかPHP実行サーバ側にsqlnet.logとかでてないでしょうか?
何かしらエラーでも残ってないかと期待。 | ||||
|
投稿日時: 2008-06-03 20:15
返事が遅くなりまして申し訳ありません。
アドバイスありがとうございます。 sqlnet.logを見てみたのですが、最近のログははかれていませんでした。。 (先月末くらいでとまっていました) | ||||
|
投稿日時: 2008-06-04 15:39
こんにちは
「接続部分でとまる」というのは「接続に失敗する」事を指しているのですか? それとも「接続要求待ち状態のまま停止してしまう」ということですか? 例えば <?php $wUser = "btomaster"; // 接続ユーザー $wPassword = "btomaster"; // パスワード $wInstance = "orcl2_nagano"; // phpが動作しているマシン内のtnsnames.oraのおけるエントリ名 $RS = oci_connect ( $wUser , $wPassword , $wInstance ); var_dump( $RS ); oci_close ( $RS ); ?> こんなコードを書いたときvar_dump()の結果も表示されないということですか? 原因がわからないときは、phpで書かれているクラスライブラリを使用せず、サンプルコードを自分で書いて確認したほうが、何が原因か判りやすいと思います。 当然問題ないと思うのですが、php.iniの extension=php_oci8.dll もしくは extension=php_oci8.so はコメント化されていませんよね? phpinfo() の結果は確認されていますか? | ||||
|
投稿日時: 2008-06-06 02:10
JIMMYさん
ありがとうございます。 接続は、接続要求待ち状態のまま停止してしまう状態でした。 phpinfo等もいろいろ確認したのですが、結局原因がつかめず phpの再インストールで接続の問題は解決しました。 それ以前にinsert等でこけていた件ですが、 こちらsqlplusからinsert、update等のsqlをなげた際に 最後commitしていなかったのが原因でした。。 おそらくそれに気付かず何度もアプリを実行したり sqlplusからの処理を続けたりしたので、接続もおかしくなってしまったのでは・・ と思っています。。 (具体的に何がどうおかしくなったのかは、わかっていないですが・・) アドバイスをいただいた皆様、ありがとうございました。 |
1