• ベストアンサー

WindowsXPにアパッチとPHP5の最新版

をDLしてインストールして使っていたのですが PostgreSQL8をインストールして PostgreSQLとアパッチを再起動して PHPからPostgreSQLにアクセスしたところ PHPに書いた pg_connectが未定義というエラーが出てきました。 PHPからPostgreSQLを使えるようにするために 何をしたらいいのでしょうか?

  • reiman
  • お礼率73% (794/1076)
  • PHP
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

php.iniファイルの extension_dir = "C:/phpをインストールした場所/ext/" の設定と extension=php_pgsql.dll(先頭の;を削除する) で使えると思います

reiman
質問者

お礼

ありがとうございます。 ちゃんと動きました。

関連するQ&A

  • ローカル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
  • 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
  • Apache 2.4でphp-5.3を使いたいです

    Apache 2.4.0でphp-5.3.9を使いたいです。 Apacheのインストールは、 http://www.apachelounge.com/download/から Apache 2.4.0 httpd-2.4.0-win32.zip をダウンロードし、c:/pg/にApache24という名前のフォルダで配置しました。 ドキュメントルートのhtmlファイルをブラウザで表示できるところまでできています。 そして、c:/pg/Apache24に空のフォルダc:/pg/Apache24/phpを作成します。 PHP 5.3 (5.3.9)用のモジュールは上記のページから php5apache2_4.dll-php-5.3.9-win32.zip をダウンロードしてc:/pg/Apache24/phpに php5apache2_4.dllを配置しました。 PHPのインストールは http://windows.php.net/download/から PHP 5.3 (5.3.9) Zip [14.94MB] sha1: 4149d79a877ae7ccb0e5419b13152b5bd3074825 php-5.3.9-nts-Win32-VC9-x86.zipをダウンロードし c:/pg/Apache24/phpに全て展開しました。 c:/pg/Apache24/phpには 「php5apache2_4.dll」と「展開したphp-5.3.9-nts-Win32-VC9-x86.zip」が入っています。 そして、 C:/pg/Apache24/conf/http.confの167行目に LoadModule php5_module c:/pg/Apache24/php/php5apache2_4.dllを追加しました。 ----------------------------------------------------------- #LoadModule version_module modules/mod_version.so #LoadModule vhost_alias_module modules/mod_vhost_alias.so #LoadModule xml2enc_module modules/mod_xml2enc.so LoadModule php5_module c:/pg/Apache24/php/php5apache2_4.dll ----------------------------------------------------------- ダウンロードと一緒についてくるPHPのマニュアルを見ると、 # Runs with PHP 5.3.9, Apache 2.4 and Win 32 # Install: - Copy php5apache2_4.dll to your php folder (eg. c:/php) (和訳:php5apache2_4.dllをあなたのphpフォルダーへコピーして下さい) ⇒完了済み # Add to your httpd.conf (和訳:あなたのhttpd.confに追加して下さい) LoadModule php5_module "c:/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php ⇒1つ目は完了済み、2つ目はまだ # configure the path to php.ini (和訳:php.iniへのパスを形成して下さい。) PHPIniDir "C:/php" ⇒まだ この状態でコマンドプロンプトから C:\pg\Apache24\bin\httpd を入力すると下記のエラーが出てしまいます。 C:\pg\Apache24\bin\httpd (←Apacheの起動) httpd: Syntax error on line 167 of C:/pg/Apache24/conf/http.conf : Cannot load C:/pg/Apache24/php/php5apache2_2.dll into server: \x8ew\x92\x82\xb3\x82~~~~ C: (←Apacheが終了) なぜエラーになってしまうのでしょうか。

  • pg_connect関数

    すみません、質問させてください。 PostgreSQLでPHPの接続をしようと考えています。 Apache, PHP, PostgreSQLのインストールは終了 しています。 PHPのスクリプト内で、 if( !$pg_con=pg_connect("host=$hostname dbname=test user=nobody") ) { と記述して接続を試みているのですが、 Call to undefined function: pg_connect() ・・・ というエラーが出てしまいます。 どのように対処すればいいかアドバイスを下さい。 お願いいたします。

  • PHPのpg_pconnect関数について

    WindowsにApache2・PHP5・Postgresqlをインストールしました。 PHPは動くのですが、pg_pconnectのようなpostgresql関係の関数が動きません。 具体的には Call to undefined function pg_pconnect() というエラーがでます。 php.iniのextension=php_pgsql.dllの箇所を有効にしたのですが、それでもエラーが出ます。

    • 締切済み
    • PHP
  • PostgreSQL8.1とPHP5でwebアプリをつくりたいのに環境設定がわかりません…

     Linuxの初心者です。PostgreSQLとPHP5でwebアプリをつくりたいのですが、環境が構築できずに困っています。現時点での環境を以下に記します。 OS ; Fedora Core 6 server ; apache 2.2.3 DB ; PostgreSQL 8.1.4 言語 ; PHP 5.1.6 Fedora Core 6 をインストールする時に apache と PostgreSQL と PHP はインストールされていました。そして以下の様に設定ファイルを書き直しました(今回の質問に関わりのなさそうなものは省いていますが、なにぶん初心者のため、なにか足りないものがありましたら教えていただきたいと思います)。 ・apache /etc/httpd/conf/httpd.conf    265 ServerName localhost:80 748 AddDefaultCharset EUC-JP ・PHP /etc/php.ini 777 pgsql.allow_persistent = On 781 pgsql.auto_reset_persistent = 0 784 pgsql.max_persistent = -1 787 pgsql.max_links = -1 791 pgsql.ignore_notice = 0 795 pgsql.log_notice = 0 ・PostgreSQL /var/lib/pgsql/data/postgresql.conf       49 listen_addresses = '*' 52 port = 5432 ・PostgreSQL /var/lib/pgsql/data/pg_hba.conf local all all ident sameuser host all all 127.0.0.1/32 ident sameuser host all all ::1/128 ident sameuser host all 0.0.0.0 0.0.0.0 trust  スクリプト内で pg_connect() 関数を使って PostgreSQL に接続しようとすると、  Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Permission denied Is the server running on host "localhost" and accepting TCP/IP connections on port 5432?  Warning: pg_last_error() [function.pg-last-error]: No PostgreSQL link opened yet  というエラーが出てしまうのです。  調べてみたら php-pgsql という拡張モジュールがインストールされていたにも関わらずに、phpinfo() の configure に --with-pgsql が見当たらないのです。パッケージでインストールしたためにオプションが付いていなかったのでしょうか。 こちらのサイトで似たような質問があって読んだのですが、どこのディレクトリで configure をやり直したらいいのか、make clean コマンドで一回オプションを全て消さないとだめなのかがわからなくて困っています。  どなたか詳しい方がいらしたら、教えてください。  よろしくお願いいたします。

  • ApacheとPHPについて

    Apache2とPHP質問です。 .phpのファイルをどこのディレクトリに入れれば、ブラウザから見れるのか わからず困っています。 現在の状況は VineLinux4.2をインストール。 VineLinuxに入っている(アップグレードで取ってくる?) Apache2とPHPをインストール。 Apache2起動後、rootディレクトリに「~~.php」を作る。 ブラウザから「http://localhost/~~.php」エンター エラーが出る。 1、Apache、PHPが正しくインストールされてるかの確認方法 2、どこのディレクトリにソースファイルを入れればいいのか この2点お願いします。

    • ベストアンサー
    • PHP
  • Apache 2.4.0でphp5.3を使うには?

    Apacheをインストールし、ApacheからPHPを使える状態にしたいです。 Apacheのインストールは、 http://www.apachelounge.com/download/から Apache 2.4.0 httpd-2.4.0-win32.zip をダウンロードし、c:/pg/にApache24という名前のフォルダで配置しました。 ドキュメントルートのhtmlファイルをブラウザで表示できるところまでできています。 PHPのインストールは http://windows.php.net/download/から PHP 5.3 (5.3.9) Zip [14.94MB] sha1: 4149d79a877ae7ccb0e5419b13152b5bd3074825 php-5.3.9-nts-Win32-VC9-x86.zipをダウンロードし デスクトップにphpというフォルダを作成し、その中に全て展開しました。 展開されたphpフォルダをc:/pg/Apache24に配置しました。c:/pg/Apache24/php PHP利用のための設定 モジュールの追加 http://www.adminweb.jp/apache/php/index1.html を参考にするとApacheでphpを利用するためには、 Apache2.2系を使う場合は、"httpd.conf"ファイルの中の "Dynamic Shared Object (DSO) Support"ブロックの一番最後に 次の行を追加すればよいという説明があります。 LoadModule php5_module c:/php/php5apache2_2.dll Apache2.4系を使う場合はどのようにしたら良いのでしょうか。 展開したphpフォルダの中にphp5apacheで始まるdllファイルが存在しません。 php5apacheで始まるdllファイルを自分で用意して配置しないといけないのでしょうか。

  • PostgresとPHPが接続できない

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

  • 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