- ベストアンサー
PHPでPostgresに接続
PHPでPostgresに接続したいのですが、 $resalt = pg_connect("dbname=dbname user=user"); で接続しようとすると、 ページを表示できません。のエラー画面が表示されてしまいます。 phpinfo()でpgsqlは確認できています。 何が原因なのでしょうか? Web Saver : Apache
- ego_trip
- お礼率73% (22/30)
- その他(データベース)
- 回答数2
- ありがとう数5
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>ページを表示できません。のエラー画面が表示されてしまいます。 apacheの設定が不完全だと思われます。 phpinfo()で、--with-apxs=... の記述(もしくは、--with-apxs2=...)は表示されていますか? 表示されていないなら、PHPのconfigureから やり直す必要があります。 表示されていれば、apacheのhttpd.confの設定を 見直してください。
その他の回答 (1)
- rara_sun
- ベストアンサー率50% (271/539)
PHPもPostgresも、全く知らないのですが、 もしここで有力な情報が得られなかったら、 確認して見てください。 全然、的外れなコメントかもしれませんので、 そんなときは、ご容赦ください。 > ページを表示できません。 Postgresのエラーなのかどうかを調べた方が良いように思います。それに、pg_connectで発生しているエラーなのかどうかも不明です。 http://php.lamphost.net/manual/ja/print/function.pg-connect.php このURLを見る感じ、pg_connectが直接出しているとは思えないのですが・・・。如何でしょうか? > pg_connect("dbname=dbname user=user"); パスワードは必要ないですか? ホスト名は必要ないですか? PHPのコマンドライン実行ではどのような結果になるのでしょうか? 同じエラーが出るのでしょうか?
関連するQ&A
- phpでpostgresに接続出来ません。
早速ですが PHPでpostgresに接続しようとすると Fatal error: Call to undefined function: pg_connect() とエラーが出てしまいます。 何が原因なのでしょうか? phpinfo()で--with-pgsqlは確認出来ます。
- 締切済み
- その他(データベース)
- postgresに接続できない
環境はxp、apache2、php5、Postgresql8.2です。 ただ今PHPとPostgresqlの勉強をしています。 postgresに接続できなくて困っています。 <?php $d_base = pg_connect("user='postgres' password=xxxx dbname='test'"); //データベースに接続 で、エラーになり その内容は、 Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Connection refused (0000000000D/00000) Is the server running on host "???" and accepting TCP/IP connections on port 5432? in です。 ご教示して頂けたら幸いです。
- ベストアンサー
- PostgreSQL
- PostgresとPHPが接続できない
PostgreSQLとPHPがどうあがいてもつながりません。pg_connectのところで接続エラーになります。Postgresの権限、PORTの問題、いろいろ考えたのですが後は、Postgres とPHPのバージョン、ApacheのバージョンとPostgresのバージョンの問題かなと思うのですが、PHPとPostgresをお使いの方でバージョンは、どのバージョンだとつながるか教えていただけないでしょうか?環境はWindowsXPです。
- 締切済み
- PostgreSQL
- PHPでPostgreSQLに接続できない。
PHPでPostgreSQLに接続しようとすると、 エラーメッセージが出て接続できません。 コマンドプロンプトからの接続は可能です。 環境:PHP5、Apache2.2、PostgreSQL8.24 全て同じサーバにインストールしています。 ********************************************* コマンドプロンプト ********************************************* >psql -U postgres -h localhost test >Password for user postgres::testpass >Type: \copyright for distribution terms >\h for help with SQL commands >\? for help with psql commands >\g or terminate with semicolon to execute query >\q to quit > > >test=# ********************************************* ↑問題なく接続できます。 ********************************************* ********************************************* PHP ********************************************* <?php $con = pg_connect("host=localhost dbname=test user=postgres password=testpass"); ?> ********************************************* エラーメッセージ 12行目は「pg_connect」のところになります。 Fatal error: Call to undefined function pg_connect() in C:\Program Files\Apache…test.php on line 12 ********************************************* php.ini ファイルはextension=php_pgsql.dll をアンコメントしてあります。 宜しくお願い致します。
- ベストアンサー
- PHP
- PHPからpostgresコマンド
redhatLinux7.1にphp4.0.6をインストール(--with-pgsqlはなし)でインストールしました。プログラムから外部のpostgresデータベースを操作したいのですが、Undefined functionとなってpg_connectなどの関数が使えません。--with-pgsqlをつけてconfigureするとエラーが出たっぽいので外したんですが・・・。pgsql関数を使うにはpostgres本体もインストールしないとダメなんでしょうか??関数だけ使う方法はないでしょうか??教えてください。
- 締切済み
- その他(OS)
- データベースに接続できない
postgresql-7.2.3.tar.gzインストール時には、下記内容でデータベースに接続できていました。 <?php $con = pg_connect("dbname='database_6' user='postgres' password='xxx'") if(!$con){ print "DB connection failed!!\n"; }else{ print "DB connection successful!!\n"; } ?> ところが、postgresql-8.0.26.tar.gzをインストールしたら、上記内容でデータベースに接続できなくなり、 Fatal error: Call to undefined function: pg_connect() in /usr/local/apache/htdocs/sql.php on line 2 というエラーメッセージが表示されます。 phpinfo();で確認もしましたが、ない感じです。Additiional Modulesのどこかを見れば、いいのでしょうか? pgsql.soは/usr/local/lib/php/extentions/pgsql.soにあります。/usr/local/lib/php.iniのextention_dir = ./を以下のように修正し、 extention_dir = /usr/local/lib/php/extentions extention=pgsql.so /usr/local/apache/bin/apachectl restart も実行しています。
- 締切済み
- PostgreSQL
- postgres に接続できない
PHP4とpostgrs8.0を利用しています。OSはWINDOWS2000です。 $DB_SERVER="localhost"; $Port = "5432"; $DB_NAME="test"; $DB_UID="postgres"; $DB_PASS="abc"; define("DB_CONECT","host=$DB_SERVER port=$Port dbname=$DB_NAME user=$DB_UID password=\"$DB_PASS\""); という設定で pg_connect(DB_CONECT) の接続でエラーが発生します。 Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: password authentication failed for user "postgres" in c:\*****.php on line 12 なぜでしょうか? pg_hba.confの設定で host all all 127.0.0.1/32 md5 を host all all 127.0.0.1/32 trust に変更すると接続できるのですが。 それは問題ないのでしょうか? またレンタルサーバーのpostgresを利用する場合、 その設定も個人で変更できるのでしょうか? よろしくお願い致します。
- ベストアンサー
- PHP
- PHPからposgresをオープンする文法
いろいろなページで調べましたが、 下の文法でPHPからpostgresを開こうとするとエラーになります。 文法 $con = pg_connect ("host=localhost port=5432 dbname=dic user=xxx password=xxx"); エラー Fatal error: Call to undefined function pg_connect() in C:\Program Files\Apache Group\Apache2\pic\php2.php on line 9 line 9 はconnectの行と一致しますので、何かこの行に問題があるのだとは思います。 バージョンは、 postgresは、Windows版で8.0 、 PHPは5.04で、Windows版。 正しいコマンドが他にありますでしょうか? または、他に問題点は考えられないでしょうか?
- ベストアンサー
- PostgreSQL
- PHPからposgresをオープンする文法
いろいろなページで調べましたが、 下の文法でPHPからpostgresを開こうとするとエラーになります。 文法 $con = pg_connect (\"host=localhost port=5432 dbname=dic user=xxx password=xxx\"); エラー Fatal error: Call to undefined function pg_connect() in C:\\Program Files\\Apache Group\\Apache2\\pic\\php2.php on line 9 line 9 はconnectの行と一致しますので、何かこの行に問題があるのだとは思います。 バージョンは、 postgresは、Windows版で8.0 、 PHPは5.04で、Windows版。 正しいコマンドが他にありますでしょうか? または、他に問題点は考えられないでしょうか?
- ベストアンサー
- PHP
- 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
- 締切済み
- PHP
お礼
回答あいがとうございます。 PHPをconfigureからやり直したところ解決しますた。 ありがとうございました。