• 締切済み

PHPからPOSTGRESQLが接続できない

すいません。プログラミング初心者です。WINDOWSXPにPHPとAPACHEとPOSTGRESをインストールしました。PHPのプログラムは、INIファイルを反映してうまく動いてくれます。PHPINIファイルでは、POSTGRESを認識しているようなのですが、PHPからPOSTGRESに接続する簡単なプログラムを作って接続しようとすると「POSTGRESのサーバーが見えない」というメッセージが帰ってきます。USERは、最高権限のpostgresでアクセスしようとしているのでデーターベースの権限の問題では、ないと思うのですが、なぜPHPからアクセスできないのでしょう? POSTGRESS単体では、データベースをつくることができます。

みんなの回答

回答No.1

こんにちは。 まず、あなたのPHPがPostgreSQLが接続出来る環境にあるか確認してみて下さい。phpinfo()でインストール状況を表示させ、PostgreSQLの項がありますか? デフォルトではインストールされない場合があります。 あればPostgreSQLのインストールがうまく出来ているか確認して下さい。PostgreSQLは初期設定ではいろいろなアクセス制限がありますので、WEBサーバ(PHP)から接続出来るように設定する必要があります。 ユーザ名、パスワード等がちゃんと設定され、そのユーザに接続権限がある必要があります。

cdv65290
質問者

お礼

データベースクラスタの初期化のところで「リモートからのアクセスを許可しない」設定になっていました。ありがとうございました。

cdv65290
質問者

補足

phpinfo()では、POSTGRESQLの項があります。PostgreSQLのインストールはうまくいっていたはずなのですが、調べ直してみます。

関連するQ&A

  • 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
  • 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"); と、データベースに接続しています。 どこがおかしいのか ご教示して頂けたら幸いです。

  • 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 "接続成功"; } ?>

  • PostgresとPHPが接続できない

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

  • WinowsXPでPHPからPostgreSQLにアクセスできません。

    Windows上でPHPを利用してPostgreSQLにアクセスを試みているのですが Fatal error: Call to undefined function pg_connect() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\dbtest.php on line 13 というエラーが出てアクセスできません。 調べていくうちにnfo.phpのConfigure Commandに"--with-pgsq"がないのが原因とはわかったのですが、下記開発環境での[php.ini],[httpd.conf]の設定をいろいろ試しましたが(勿論再起動も)info.phpのConfigure Commandに"--with-pgsq"が表示されないのです。 どなたか、アドバイスしていただけることがありましたらよろしくお願いします。 開発環境 OS:WindowsXP SP2 PHP:5.26 Apache:2.2 PostgreSQL:8.2

    • 締切済み
    • PHP
  • phpinfoでPHP.iniのパスが/etc/php.iniと表示さ

    phpinfoでPHP.iniのパスが/etc/php.iniと表示される お世話になります。 現在以下の環境でPHPを動作させようとしております。 windows server 2008 R2 Apache 2.2.16 (F:\apache) PHP 5.5.3 (F:\apache\php) http.confにPHPinidirをF:\apahce\phpと記述しております。 php.iniは上記ディレクトリに保存しております。 この状態でphpinfoをapacheのドキュメントルートに設置し実行すると 以下の問題が発生します。 ・phpのバージョンが5.1.6と表示される ・phpini格納ディレクトリが/etc/php.iniと表示される ・php.iniの中で変更した設定が全く反映されない 同様な問題が発生した方はいらっしゃいますでしょうか。 また、解決方法をご存じの方教えていただけますでしょうか。

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

    ApacheとPHP5.1.5とOracle 10g XEを使用しています。 PHPのプログラムで、oracleへの接続を試みていますが、 undefined function OCILogon() というエラーが表示されてしまいます。 以下、今回の状態を記述します。 ・php.iniのextension=php_oci8.dllは「;」を外してあります。 ・php.iniのextension_dirもdllがある場所に設定しています。 ・phpinfoで、ociの項目が表示されない。 ・もちろん、php.iniの場所は合っていますし、変更後はapacheの再起動も行っています。 ・プログラムはネットで拝見したPHP5用のものなので、プログラムの間違いではないと思います。 原因が分かる方がいらっしゃいましたら、回答よろしくお願いします。

    • 締切済み
    • PHP
  • PHP7のphp.iniが読込みできない

    Windows7 64bitの C:\Apache24にApache2.4をインストールして、 C\php7にPHP7をインストールしました。 (php-7.1.1-Win32-VC14-x64.zipを解凍してできたフォルダをphp7にリネームしてC:\に置きました) それで、Apacheのhttpd.confやphp.iniの必要部分を書き換えて、 C:\Apache24\htdocsに <? phpinfo() ?> と記入したinfo.phpを置いて、Apacheを起動して、 ttp://127.0.0.1/info.phpにブラウザでアクセスしたところ、 phpinfo()の画面が表示されて、インストールできたと思ったのですが、 良く見ると、 php.iniでextension_dir = "c:\php7\ext"と設定しているのに、 extension_dirがC:\php7\extではなく、C:\php\extとなっていて、 mbstringなども読み込まれていないのです。 Loaded Configuration File もnoneとなっていて、php.iniが読み込まれていないようです。 Configuration File (php.ini) Path はC:\windows となっていますが、C:\windows には php.iniは入れていません。 ネットで調べて、httpd.confに PHPINIDir "C:/php7" と記入するといいとあったので、記入してApacheを再起動して info.phpにアクセスしたところ、白紙のページが表示されました。 PHPINIDir "C:/php7"を削除して、Apacheを再起動してinfo.phpにアクセスすると、 phpinfo()の画面が表示されます。 試しに、C:\windowsにphp.iniを入れてみると、また白紙のページになります。 つまり、php.iniを読み込もうとすると白紙にページになっていまうのです。 php.iniにエラーがあるのかと思って、解凍して何も変更していないphp.iniを 使ってみてもだめでした。php.iniの構文チェックができればと思って いろいろ調べたのですがネット上で見つからなかったです。 希望ですが、なんとかphp.iniを読み込んで白紙ではなくページを表示できて、 mbstringなども有効になっていればと思います。 どうぞよろしくお願いします。

    • 締切済み
    • PHP
  • PHP5.1.6でsplite3を使いたい

    こんにちは WindowsXP+PHP5.1.6+Apache2の環境でsqliteを使用したデータベースのプログラムをしたいのですが、sqlite_openで作製したデータベースファイルは依然としてsqlite2形式のままです。 これをsqlite3形式にするにはどうしたらよいのでしょうか?

    • 締切済み
    • PHP
  • PHP5.0.5+postgreSQL8.0.4+apache2.0.55 で質問です。

    上記の構成で、PHP単体での動作OK postgreSQL OK apache OK なのですが、apacheを再起動すると下記の警告が出ます。 PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'pgsql.so' in Unknown on line 0 いろいろ調べたのですが、さっぱり分かりません。 また、当然かも知れませんがphp.iniのextension=pgsql.soをコメントアウトすると警告は出ません。 どこを見直せばいいのか教えていただけないでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP