• ベストアンサー
  • すぐに回答を!

PHP4 + PostgreSQL8 + Windows でPHPとPostgresの接続エラー?

現在、Windowsで以下の環境を構築しています。 Windows XP SP2 Apache 2.0.58 PHP 4.2.2 PostgreSQL 8.1.4 インストールの最後、PHPとPostgreSQLの設定を行ったのですが、 phpinfo()で確認をしても、pgsql という項目は表示されるのに バージョンなどが表示されず、 実際PHPソースで接続してみてもエラーとなってしまいます。 Webを参考にした情報では、php.ini は、 extension_dir = "C:/php/extensions" extension=php_pgsql.dll の2行の設定で認識するという情報しか得られず、行き詰っています。 PHPのフレームワークにMojavi2を使用することになっていますので PHP5にすることはできないのです.... PHP4をPostgreSQL8では相性が悪いのでしょうか? 情報をいただければと思います。よろしくお願いいたします。

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

  • PHP
  • 回答数1
  • 閲覧数364
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.1
  • kalze
  • ベストアンサー率47% (522/1092)

自分の開発環境では問題なく動いています。 WindowsXP SP2 Apache/2.0.55 PHP/4.4.2 PostgreSQL 8.1.3 C:/WINDOWS/php.iniの関連項目 extension_dir = "C:/php/extensions" extension=php_pgsql.dll phpinfo()でのpgsqlの部分 PostgreSQL Support enabled Active Persistent Links 0 Active Links 0 Directive Local Value Master Value pgsql.allow_persistent On On pgsql.auto_reset_persistent Off Off pgsql.ignore_notice Off Off pgsql.log_notice Off Off pgsql.max_links Unlimited Unlimited pgsql.max_persistent Unlimited Unlimited チェック項目としては、とりあえず以下のものかな ・c:\php\extensionsにphp_pgsql.dllがあるか? ・php.iniに extension_dir = "C:/php/extensions" extension=php_pgsql.dll の記述があるか? ・正しいphp.iniファイルを編集しているか?  (c:\WINDOWS\php.iniです)

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

質問者からのお礼

kalzeさんの環境では上記環境で問題なく動いているのですね。 php.iniやらの設定も何度か再確認しましたが問題ないようです。 私の環境ではもう1つ、Zend Optimizer2.6.2を導入しているのですが (それが原因なのかはわかりませんけれど)、 どうも動作が不安定のような気もしています...どのソフトが邪魔しているんだろう... ご丁寧にありがとうございます。もう少しガチガチ動かしてみますね。

関連するQ&A

  • PHPでpostgreSQLと接続しようとすると「call to undefind function pg_connect」というエラーが出る

    表題の件で質問させて下さい。 いろいろネットで調べると、php.ini の extension_dir="phpインストールフォルダのextフォルダ" extension=php_pgsql.dllのコメントをはずす で大抵は解決しているようなのですが、その対応をしてもどうも解決しません。 以下、わかる範囲で確認してみた項目です。 ・phpinfoで確認してみても、postgreSQLの項目は表示されていませんでした。 ・phpinfoの 「Loaded Configuration File 」のphp.iniのパスもあっています。 ・ためしに、extension=php_mbstring.dll のコメントをつけたりはずしたりすると、phpinfoではちゃんと反映されていました。 ・もちろん、extension_dirに設定しているディレクトリには、php_pgsql.dllがありました。 ちょっと何が原因なのか見当がつきません。 どなたかお分かりになる方がいらっしゃいましたらご教授願えませんでしょうか。 環境は windowsXP apache/2.2.9 PHP/5.2.6 です。 よろしくお願い致します。

    • 締切済み
    • PHP
  • phpでpostgresを使いたい(windows

    phpでpostgresを使いたい(windows) Windows版のアパッチとphpをダウンロードして解凍し、phpinfo()が出るところまで来ました。 Apache24 php-7.2.0-Win32-VC15-x64 次にpostgresqlを使いたくてインストールしました。 使えるようにするにはphp.iniを変更しないといけないようですが、ネットで検索して出てくることと実情が合いません。 まず、php.iniが見つからなかったのですが、これはphp.ini-productionをコピーしてphp.iniに名前を変更すればよさそうです。 次に 「extension=php_pgsql.dll」の先頭にセミコロン(;)が付いている場合は上記の図のようにセミコロンを削除して下さい。 とあるのですが、 php.iniの中にphp_pgsql.dllの記述はありません。 どうすればよいでしょうか?

    • 締切済み
    • PHP
  • PHP PDOライブラリが読み込まれない

    いつもお世話になっております。 PHP5+Apache(2.0)+PostgreSQLで開発しております。 OSはWinXP(Pro)SP2です。 PostgreSQLのみ別端末に入れております。 手始めにPDOでPostgreSQLに接続しようとしたところ、「PDOクラスがみつかりません」というようなエラーがでました。 $db = new PDO("mydsn"); ←ここで発生 phpinfo()関数で調べたところ、PDOのライブラリがロードされていないようです。 php.iniには extension_dir = "C:\php\php-5.2.0-Win32\ext" extension=pdo_pgsql.dll extension=php_pdo_pgsql.dll を記述しており、extension_dirには上記DLLが存在することも確認しております。またデータソースの設定として [PDO] pdo.dsn.mydsn="pgsql:host=xxx.xxx.xxx.xxx port=5432 dbname=mydb user=postgres password=sa" を最終行に追加しました。 Apacheの再起動も実行しました。 何か原因となるような箇所がございましたらご教授願います。宜しくお願いします。

    • ベストアンサー
    • 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
  • Postgresの拡張モジュール導入について

    PHPでpgsql拡張モジュールを導入したいのですがうまくいきません。アドバイスをお願いいたします。 環境:Apache2 / PHP5.0.2 / Postgresql8.0 今までのしたこと: (1)使えないモジュールの把握  Fatal error: Call to undefined function pg_query_params() in /hoge/fuga.php (2)ソースファイル配下(php-5.2.10/ext/pgsql)にてpgsql拡張モジュールをインストール  phpize  ./configure --with-php-config=/usr/local/php/bin/php-config --with-pgsql=/usr/local/pgsql  make  make install (3)pnp.iniにextension_dirの設定変更と、extension=pgsql.soを追記 (4)Apacheの再起動 (3)のphp.iniが動作するPHPから呼び出されていること、extension_dirの設定内容が間違っていないことは確認済みですが、モジュールは使えないままです。 追加でできる確認方法か、とばしている手順があれば教えてください。よろしくお願いします。

    • 締切済み
    • PHP
  • PHPでpostgresql関数が利用できない

    PHPのバージョンアップ(4.1.2→4.3.1)をしたらpotgres関連の関数が利用できなくなりました。 (Fatal error: Call to undefined function: pg_connect() など) というか、phpinfo()でもpgsqlの表示がでません。バージョンアップする前のphpinfo()でConfigureの表示は--with-pgsql=sharedだったので、バージョンアップ時も同様にしてます。 php-pgsql-4.1.2-7.3.6というのがインストールされてるのですが、 これをphp-pgsql-4.3.xxxxxといったものにしなくてはならないのか? しかし、どこにあるのかわかりません・・・ php.iniのextension=pgsql.soが有効になってること、 pgsql.soがextension ディレクトリに存在していること、 コマンドラインからPostgresSQLに接続でいること、 以上の確認と Apache・PostgresSQLの再起動は行いました。 phpからPostgresSQLを利用できるようにする方法を教えてください。 (php-pgsql-4.3.xxxxxをインストールすべきであれば、DLできる場所) 以上、宜しくお願い致します。 【環境】 OS:RedHat7.2 httpd:apache-1.3.27 PostgresSQL:7.2.4

    • 締切済み
    • 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
  • PHPのpg_pconnect関数について

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

    • 締切済み
    • 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
  • PHP拡張モジュールが読み込めない?

    環境 OS:windowsXP Apache ver 2.2 PHP ver 5.1.4 問題の発端はphpからMySQLを呼び出す時に下記のエラーが出た事に始まりました。 Call to undefined function mysql_connect() 恐らくextensionファイルがうまく読み込めてないものと思われるのですが、php.iniの設定でしょうか? extension関連の設定は以下になっています。 extension_dir = "C:\php\ext" extension=php_mysql.dllのコメントアウトをはずす。 phpinfo()で確認してみましたが、表示されるのはConfiguration PHP Core まででその他の設定は表示されません。 extension_dirの項目は変更すると反映されるみたいですので、php.iniは読み込めていると思うのですが…。 GD2モジュールのサンプルも動かしてみましたが、やはり駄目でした。 ApacheのhttpdconfでPHPIniDirを設定しても結果は同じでした。 どなたか、原因の解る方いらっしゃいますでしょうか?

    • ベストアンサー
    • PHP