• ベストアンサー
  • 困ってます

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
  • 回答数1
  • 閲覧数715
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1
  • asuncion
  • ベストアンサー率33% (1909/5774)

> php.ini ファイルはextension=php_pgsql.dll をアンコメントしてあります。 この後で、Apacheをリスタートしてありますね?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 Apacheはリスタート済みです。 何が原因なのでしょうか。

質問者からの補足

申し訳ありません。 再度、APACHEを再起動したら動作しました。 ありがとうございました。

関連するQ&A

  • PHP4からPostgreSQL7.3に接続したいのですが・・・

    次のページのサンプルを入れてみるところ(IDとPASSは変更していますが。) http://www.hizlab.net/app/view/install/test_php_pgsql.php?prev=install.html%23test 次のようなエラーが発生します。 ターミナルからのtemplate1へのログインではうまく接続できるのですが、この場合、どこがおかしいのでしょうか? --------------------- error ------------------------------ Welcome PHP + PostgreSQL World!! Warning: pg_connect() unable to connect to PostgreSQL server: FATAL: IDENT authentication failed for user "postgres" in /home/user/public_html/test.php on line 24 I can not connect to DataBase(template1) ----------------------------------------------------------- よろしくお願いします。

  • 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 です。 ご教示して頂けたら幸いです。

  • PHPとPostgreSQLとの連携

    今、WindowsXPでPHPとPostgreSQLを連携 させたいのですがなかなか上手く行きません。 どなたか、分かる方がいれば宜しくお願いします。 環境 OS→Windows HomeEdition Apache→Apache HTTP Serber2.0.59 PHP→PHP4.4.4 PostgreSQL→PostgreSQL8.1.4 です。 PostgreSQLの中にtest_dbというデータベースをつくり setuzoku.phpから接続できるかどうかのif文を作り確認 していますが、何度やっても接続失敗と出ます。 <?php $con = pg_connect("user='postgres' dbname='test_db' password='grjtf'"); if (! $con) { print "接続失敗"; } else { print "接続成功"; } ?>

  • Postgresqlが接続できない

    環境はxp、apache2、php5、Postgresql8.2です。 ただ今PHPとPostgresqlの勉強をしています。 PHP5で作成したプログラムでPostgresqlへアクセスするのですが,全く応答がありません。 ブラウザで表示後、ソースを見ると Parse error: syntax error, unexpected T_VARIABLE in C:\Program Files\Apache Group\Apache2\htdocs\sample\aa.php on line 10 というエラーが表示されます。 aa.phpの10行目は $d_base = pg_connect("user=postgres password=0000 dbname=test"); と、データベースに接続しています。 どこがおかしいのか ご教示して頂けたら幸いです。

  • 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とPostgreSQL接続 (スキーマ)

    いつもお世話になっております。 現在、PHP(5.3.1)とPostgreSQL(9.2)で開発をしております。 エラーが発生しており大変困っております。 こちらが発生するエラーです。 Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: schema スキーマが見つからないとのことです。 そして、以下がコードとなります。 <?php // PostgreSQL Connect if (!($cn = pg_connect("host=*** port=*** user=*** password=*** dbname=***"))) { die; } // PostgreSQL Select $sql = "select * from t_test.na1"; if (!($rs = pg_exec($sql))) { die; } // PostgreSQL Get Records $ct = pg_numrows($rs); for ($i = 0; $i < $ct; $i++) { $item = pg_fetch_array($rs, $i); $txt = "${item[1]}"; } // PostgreSQL Disconnect pg_close($cn); ?> 現在のデータベースのスキーマについてですが「na1」と「public」の2つが存在しています。 試しに、na1とpublicのテーブルをまったく同じにして SQLの部分を「select * from t_test」に変更すると「public」側のテーブルが覗けます。 しかし、SQLの部分を「select * from t_test.na1」に変更すると「スキーマが見つかりません」 というエラーが発生してしまいます。 スキーマがあるにもかかわらずこのエラーがでてしまうため原因が分からず困っております。 もしお分かりになる方いらっしゃいましたら、教えていただければと思います。 何卒よろしくお願いします。

    • ベストアンサー
    • PHP
  • ローカルWinXP環境でのPHP+PostgreSQL

    初歩的な質問で申し訳ありません。 PHP+PostgreSQLの勉強をしようと思い、WinXPのローカルマシン上にApache(1.3.27)+PostgreSQL(7.2.1)+PHP(4.3.0)をインストールしました。PostgreSQLを使わないでPHPだけだとブラウザで正しく表示されるのですが、PostgreSQLを使おうとするとエラーになります。 コーディングは $con = pg_connect("localhost port=**** dbname=**** user=*** password=***");です。 エラーは Call to undefined function: pg_connect() in~ でpg_connect未定義だと思います。 PHPのDLLのコピーはphp4ts.dll及びdllフォルダ中の全DLLをシステムファイルにコピーしています。 iniファイルはdoc_root、extension_dir、include_pathを設定しています。 何か拡張モジュールが必要なのでしょうか? それとも他にコピーするDLLがあるのでしょうか?もしくはiniファイルの設定不足なのでしょうか? よろしくお願い致します。

    • 締切済み
    • PHP
  • PostgresとPHPが接続できない

    PostgreSQLとPHPがどうあがいてもつながりません。pg_connectのところで接続エラーになります。Postgresの権限、PORTの問題、いろいろ考えたのですが後は、Postgres とPHPのバージョン、ApacheのバージョンとPostgresのバージョンの問題かなと思うのですが、PHPとPostgresをお使いの方でバージョンは、どのバージョンだとつながるか教えていただけないでしょうか?環境はWindowsXPです。

  • PHPとPostgreSQLがつながらない

    PHPとPostgreSQLの初心者です。PHPとPostgreSQLを 使ってプログラムを作ろうと思ってます。 開発はPC上で、PostgreとPHPサーバはLinuxマシンに あります。まず最初にPostgreのインストールですが、 Fedora Core5 に着いていたPotsgreSQL8.1.3を入れ ました。設定としては、 postgresql.confでは listen_address='localhost,192.168.1.3' としました。192.168.1.3はLinuxマシンのローカル アドレスです。 pg_hba.confではconnectionのところで host all all 192.168.1.3 255.255.255.0 tyust としました。その後 host all all 0.0.0.0 255.255.255.0 tyust とかいろいろ試してみました。 一方PHPの方はほとんど何も設定をしていません。と いうか設定方法がよくわかりません。 以上の環境で、簡単なPHPプログラムをPostgreにつなげないで実行したところ問題なく動きました。 20行くらいのPHPを書いてみましたが、特に問題はあ りませんでした。 PostgreSQLの方は、PCからSSHで入って、接続テスト 用のDBを作り、テーブルも3つ作って、データを数件 Insertしました。 いよいよPHPからDBにつなぐことになったのですが、 プログラム上では以下のように書きました。 <?php    print "こんにちは"; $conn = pg_connect ('host=192.168.1.3 port=5432 dbname=phptest user=postgres');    print "こんばんは"; if (!$conn) { print "PostgreSQLへの接続に失敗です"; exit(); } else ・ ・ して実行したところ、「こんにちは」は表示されま したが、「こんばんは」以下はは表示しませんで した。$conn の先には進んでいないようです。 当然ここに書いた以外にも設定を変えてみましたが、 つながりませんでした。よろしくお願いします。

    • 締切済み
    • PHP
  • phpでpostgresに接続出来ません。

    早速ですが PHPでpostgresに接続しようとすると  Fatal error: Call to undefined function:     pg_connect() とエラーが出てしまいます。 何が原因なのでしょうか? phpinfo()で--with-pgsqlは確認出来ます。