• 締切済み

PHP5からPostgres6.5.3の接続の件で

非常に初歩的な質問ですいません。 Postgres6.5.3の動作しているサーバーへ、別サーバーからPHP3でアクセスすることは正常にできます。しかし、さらに別のサーバーからPHP5でアクセスすると、pg_connectでエラーが出て接続できません。接続の際の認証等は設定していません。これは、PHP5に対応していないからということなのでしょうか? [postgres-Server] Red Hat Linux release 6.2 Kernel 2.2.14-5.0 on an i686 postgresql-6.5.3 [PHP3-Server] Red Hat Linux release 6.2 Kernel 2.2.14-5.0 on an i686 php-3.0.18-i18n-ja-3 apache_1.3.24 [PHP5-Server] Vine Linux 4.2 Kernel 2.6.16-0vl76.33 on an i686 php-5.2.5 apache_2.2.3

みんなの回答

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

PHP5 自体は PostgreSQL 6.5 以降をサポートとしているようなので、 PostgreSQL 6.5.3 だと要件を満たしているといえるでしょう。 ただし、DB にアクセスするときは php_pgsql にリンクされているクライアントライブラリ (libpq) のバージョンが重要になってくると思います。 以下のように書かれていますが、PHP5 サーバと PHP3 サーバの実行ファイルにリンクされている libpq のバージョン (--with-pgsql を使用して PHP を configure したときに指定した PostgreSQL のバージョン) が書かれていません。 > [postgres-Server] > Red Hat Linux release 6.2 Kernel 2.2.14-5.0 on an i686 > postgresql-6.5.3 > > [PHP3-Server] > Red Hat Linux release 6.2 Kernel 2.2.14-5.0 on an i686 > php-3.0.18-i18n-ja-3 > apache_1.3.24 > > [PHP5-Server] > Vine Linux 4.2 Kernel 2.6.16-0vl76.33 on an i686 > php-5.2.5 > apache_2.2.3 ちなみに、php_pgsql を shared としてインストールされているのであれば、モジュール部分のみを再コンパイルするだけで接続できるようになるかもしれません。

  • hkd9001
  • ベストアンサー率48% (99/204)
回答No.1

こんばんは。 以下の2点を、チェックしてみてください: (1) [PHP5-Server]において、設定ファイル「 php.ini 」の中の extension=php_pgsql.dll が有効になっているかどうか(先頭にセミコロン「;」が付いていると無効なので、この場合はセミコロンを削除すればいい) (2) [PHP5-Server]から[postgres-Server]に接続するとき、接続先のURL(http://~)が間違っていないかどうか …ご参考になれば幸いです。

RONTDM
質問者

補足

御回答ありがとうございました。 1) [PHP5-Server]は、OSは Windows ではないのですが。  追加補足:さらに、別のサーバーで  [postgres8-Server]  Vine Linux 4.2 Kernel 2.6.16-0vl76.33 on an i686  postgresql-8.1.5  このサーバーへの接続は出来ています。 2) URLは確認しましたが、間違っていませんでした。    何か良い情報がありましたらよろしくお願いいたします。

関連するQ&A