CodeIgniter: 2007年12月アーカイブ

XREAのサーバを使っていますが、CodeIgniterからPostgreSQL接続しようとすると、CIが次のようなエラーメッセージを吐いて失敗してしまいます。

An Error Was Encountered
Unable to connect to your database server using the provided settings.


接続してる部分のソースをチェックしてみる。
system/database/drivers/postgre/postgre_driver.php を開いて「@pg_pconnect」→「pg_pconnect」に変えて実行すると、

Message: pg_pconnect() [function.pg-pconnect]: Unable to connect to PostgreSQL server: could not connect to server: Connection refused Is the server running on host "localhost" and accepting TCP/IP connections on port 5432?


やっぱり接続時に問題がある模様。
サポートページを調べていたら参考になる記事が見つかりました。
PGSQLへの接続失敗 - XREA&CORE SUPPORT BOARD

つまり、TCP/IP接続でなくソケット経由で接続をしてるので、host、portは指定してはいけないとのこと。
postgre_driver.phpを修正してみます。

return @pg_pconnect("host=".$this->hostname.$port." dbname=".$this->database." user=".$this->username." password=".$this->password);
 ↓
return @pg_pconnect($port." dbname=".$this->database." user=".$this->username." password=".$this->password);


接続できました!

ほんとはdatabase.phpのhostname設定を見てhostを指定するかしないか切り替えれば良いと思いますが、まあ取り急ぎ対応です。

このアーカイブについて

このページには、2007年12月以降に書かれたブログ記事のうちCodeIgniterカテゴリに属しているものが含まれています。

次のアーカイブはCodeIgniter: 2008年2月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

CodeIgniter: 2007年12月: 月別アーカイブ

RSSフィード

  • 購読する

いろいろ

あわせて読みたい

フィードメーター - ポップフライ

seo

Powered by Movable Type 4.01